android源码开发之添加/删除系统应用(代码片段)

fanfan-公众号-码农修仙儿 fanfan-公众号-码农修仙儿     2022-11-29     451

关键词:

本文参考老罗的系统源代码情景分析中的1.5章节

http://0xcc0xcd.com/p/books/978-7-121-18108-5/c15.php

想要在源码基础上添加一个应用整体来说只需要两步

第一步,添加所需要的模块

第二步,在系统的mk文件(一般在device/qcom/***.mk)中添加对应模块

先来说说第一步:添加模块

模块下有四个文件夹


res文件夹:资源

src文件夹:Java源文件

Android文件:.mk文件

AndroidManifest文件:清单配置文件


res、src、清单配置文件无需多说,与平常的应用开发类似,就是多了一个mk文件,其内容如下

LOCAL_PATH:= $(call my-dir)

include $(CLEAR_VARS)

LOCAL_STATIC_JAVA_LIBRARIES := \\
    android-support-v13 \\
    android-support-v4 \\

LOCAL_MODULE_TAGS := optional eng

LOCAL_SRC_FILES := $(call all-subdir-java-files)

LOCAL_PACKAGE_NAME := 模块名称,也是以后生成的apk的名称

LOCAL_CERTIFICATE := platform

include $(BUILD_PACKAGE)


第一步完成之后,就可以进行第二步

PRODUCT_PACKAGES += 模块名称

这样,一个完整的应用程序就添加进来了


这是添加应用的步骤,那么如果不想去编译一个apk怎么办呢,找到系统的mk文件,给注释掉

要改的路径在:android/device/qcom/common/base.mk


要改的字段名为:

PRODUCT_PACKAGES :


这样,如果不想让某个系统应用参与编译,只需要删除该字段中添加到 某个应用模块

#    FM2 \\





android移动应用开发之使用listview+sqliteopenhelper实现商品列表添加删除的界面(代码片段)

前言这就是实现的效果展示。能够输入数据然后添加到数据库,ListView会自动展现数据库的内容,点击删除能够将数据库中的信息删除并更新ListView。实现思路首先布局主界面布局为2个EditText+1个ImageView+1个ListViewÿ... 查看详情

android开发之深入理解android7.0系统权限更改相关文档(代码片段)

摘要:Android6.0之后的版本增加了运行时权限,应用程序在执行每个需要系统权限的功能时,需要添加权限请求代码(默认权限禁止),否则应用程序无法响应;Android7.0在Android6.0的基础上,对系统... 查看详情

[rk3568android11]开发之系统动态隐藏导航栏

目录前言一、创建全局变量二、设置应用添加隐藏导航栏按钮三、添加按钮功能 查看详情

图书管理系统系列之展示,修改,添加,删除(代码片段)

settings.py配置1.当前app的应用名称添加进去INSTALLED_APPS=[app01,#简写就行]2.MIDDLEWARE中把csrf注释掉,防止post请求发送失败3.DATABASES=‘dafault‘:‘ENGINE‘:‘django.db.backend.mysql‘,‘NAME‘:‘booksys‘,#数据库名称‘HOST‘:‘127.0.0.1‘,#ip‘PORT 查看详情

android系统源代码多大

是指sdk的源码,还是android操作系统的源码,不过都有10G左右,另外sdk的源码是用git管理的,一次下载后,用gitcheck就可以切换到各个版本。AndroidSDK是用于开发Android上JAVA应用程序的,另外发布AndroidNDK,可以添加一些C语言写的链... 查看详情

android移动应用开发之使用room实现数据库的增删改查(代码片段)

...到,数据全都被删除了。完整代码可运行项目:Android移动应用开发之使用room实现数据 查看详情

abp框架系列学习模块系统之示例开发(代码片段)

...篇博文主要介绍了ABP模块及插件的相关知识,本章节主要开发一个插件示例来学习如何创建一个插件,并在应用程序中使用。这个命名为FirstABPPlugin的插件主要在指定的时间段内删除审计日志。1.创建插件(1).新建项目,选择【类... 查看详情

android移动应用开发之fragment(代码片段)

文章目录Fragment初体验主要文件目录BlankFragment1BlankFragment2MainActivityactivity_main.xmlfragment_blank1.xml运行Fragment动态添加与管理实现Activity传递信息给Fragment通过接口实现Activity和Fragment双向数据传输Fragment相当于一个小的activity,有... 查看详情

android移动应用开发之fragment(代码片段)

文章目录Fragment初体验主要文件目录BlankFragment1BlankFragment2MainActivityactivity_main.xmlfragment_blank1.xml运行Fragment动态添加与管理实现Activity传递信息给Fragment通过接口实现Activity和Fragment双向数据传输Fragment相当于一个小的activity,有... 查看详情

最新源码glide4.12框架之加载图片流程源码分析(代码片段)

一、前言Android图片加载框架,在android应用开发中是一个常见的话题。在12、13年的时候我记得可能用的最多的是XUtils的一套框架(更早之前叫aFinal框架),这个框架中提供imageUtils用于在android应用的开发中完成远... 查看详情

android系统编程入门系列之应用环境及开发环境介绍

    作为移动端操作系统,目前最新的Android11.0已经发展的比较完善了,现在也到了系统的整理一番的时间,接下来的系列文章将以Android开发者为中心,争取用归纳总结的态度对初级入门者所应掌握的基础知识聊以标记。应... 查看详情

androidjetpack之viewmodel源码分析(代码片段)

AndroidJetpack之ViewModel源码分析ViewModel简介在Android开发的时候,使用Activity、Fragment的生命周期的变动有时候是不受开发人员控制的(比如横竖屏切换,导致Activity销毁并重新创建),各种因素导致Android界面或被... 查看详情

c#系统应用之listview控件.添加contextmenustrip右键菜单打开删除文件

...的操作.在"个人电脑使用历史痕迹"项目中我还需要添加"打开文件"和“删除文件”两种方法.具体如下:       在第一篇文章"C#系统应用之TreeView控件(一).显示树状磁盘文件目录及加载图标"中显示如下:     ... 查看详情

android应用笔记

android应用笔记android应用笔记小书匠android教程android常用技巧ticwearapp开发kernal开发资料最新资讯android教程AndroidDevelopers-Android6.0_API23_最新镜像大牛们是怎么阅读Android系统源码的?我的Android开发相关文章Java教程android4.3Bluetooth(le)... 查看详情

android开发之preference(代码片段)

...如果想要在你自己的应用中提供设置功能,需要用到AndroidPreference接口。这样你可以获得和系统设置一样的用户体验。Android中包含了一些Preference控件CheckBoxPreference 复选框控件,将值设置为真或者假EditTextPreference 弹出一... 查看详情

stm32f412应用开发笔记之六:使用片上flash存储参数

我们的项目中需要保存一些系统配置参数,这些数据的特点是:数量少而且不需要经常修改,但又不能定义为常量,因为每台设备可能不一样而且在以后还有修改的可能。这就需要考虑这些参数保存的问题。将这类数据存在指定... 查看详情

odoo12开发之开发环境准备(代码片段)

...需用到的工具和环境配置。将介绍如何在开发电脑上使用源码安装Odoo,建议使用系统是Ubuntu18.04,文中会介绍到如何在Windows下安装Linux子系统。使用Windows子系统安装Linux在Windows系统中,最简单的方案是使用Windows10自带的Linux子系... 查看详情

androidframework之使用系统编译的文件添加到sdk的源码

参考技术A在上一篇文章中:AndroidFramework添加新的系统服务我们添加了新的系统服务DemoManagerService,客户端可以通过DemoManager.java访问。但是使用AndroidStudio新建一个项目时,是不能直接使用DemoManager.java,因为当前AndroidStudio使用的是Goo... 查看详情