塔罗牌手机网站制作,做新房网站怎么弄,怎么查看网站开发语言,西双版纳首先我先提供以下博主博文#xff0c;对相关知识点可以提供理解、解决、思考的
Android 系统如何预装第三方应用以及常见问题汇集android Android.mk属性说明及预置系统app操作说明系Android 中去除系统原生apk的方法
取消预置APK方法一#xff1a;
其实就是上面的链接3对相关知识点可以提供理解、解决、思考的
Android 系统如何预装第三方应用以及常见问题汇集android Android.mk属性说明及预置系统app操作说明系Android 中去除系统原生apk的方法
取消预置APK方法一
其实就是上面的链接3但是这个方法有局限性比较适用于单个Android系统项目直接对Android.mk中的相关APK代码进行删除下图来源链接3 但是很多情况、很多公司在实际中使用repo拉取代码上有许多项目而且A、B、C、D、E项目中可能对于A、C项目需要保留这个APK而其余的需要不保留这个APK需要参看公司的需求表。
取消预置APK方法二
也是常用惯用方法根据上面的特殊性说明来我们需要宏控制即在Android.mk文件中添加条件判断A、C项目包含了这个宏且为yes值则保留这个APK预置这个APK而其余的BDE不设置这个宏或者设置为no值则不会预置这个APK宏在项目的var.mk进行编写
理一下思路进行编写以下以Calendar.APK为例
1.如果不知道包名可以先使用反编译工具进行查看包名
先要知道是否预置这个APK的包名从而在后面更好的定位、判断是否成功这里使用了jadx反编译工具可以上网搜一下使用方法在这大概讲一下。将jadx下载解压到任意路径将目标apk文件拖动到jadx的bin目录下打开终端执行jadx -gui apk名
D:\jadx\binjadx -gui Calendar.apk
反编译出 在AndroidManifest.xml或其他可以查看到包名 2.在需要的项目下var.mk中添加宏即A、C项目下
示例路径 device\xxx\xxxx\项目名\var.mk
宏的名称编写需要你查看公司的规范文档 例如 公司名_软件名...
宏示例宏名称yes
3.在Android.mk下添加判断 来判断是否执行语句创建文件夹、拷贝apk等操作
Android.mk无论什么项目都会执行它所以你是否执行apk操作需要你自己的宏是否有、值是否对应来决定
示例路径vendor/xxxx/packages/xxxx/Calendar/Android.mk
ifeq($(XXXXXXX),yes)$(warning mkdir -p $(PRODUCT_OUT)/system/preloadapp/$(LOCAL_MOULE)/)$(shell mkdir -p $(PRODUCT_OUT)/system/preloadapp/$(LOCAL_MOULE)/)$(warning Aron -------- cp $(LOCAL_PATH)/$(LOCAL_MOULE)/$(PRODUCT_OUT)/system/preloadapp/$(LOCAL_MOULE)/$(LOCAL_MOUDLE).apk)$(shell cp $(LOCAL_PATH)/$(LOCAL_MOULE).apk $(PRODUCT_OUT)/system/preloadapp/$(LOCAL_MOULE)/$(LOCAL_MOULE).apk)
endif
3.在需要预制的项目的main.mk下添加一般可能有了检查一下APK
需要包含Calendar
PRODUCT_PACKAGES \
Calendar\
...
4.其他不需要预置的项目不添加宏一般不进行修改默认没有宏不执行预置APK
番外
如果需要替换已经有的APK例如日历我只需要一个将例如谷歌的APK替换则在Android.mk进行添加语句
ifeq($(strip $(XXXXXX)),yes)
LOCAL_OVERRIDES_PACKAGES :Calender
else
LOCAL_OVERRIDES_PACKAGES :CalendarGoogle
5.验证是否预置APK
可以通过adb命令来查看手机的包名或者看out目录下是否有生成的APK
adb命令手机链接电脑使用adb devices检测到手机 再输入adb shell pm list packages 命令将显示设备上安装的所有应用的包名列表 查看列表中是否有APK包名
检查out目录编译以后Android源码中的out目录一开始是不存在的是在我们执行编译操作之后才由系统自动生成
路径为out/target/product/项目名/app或其他app文件夹
以下四个路径存放APK你可以选择在Android.mk文件可以设置
system/app/ 该目录下存放的是一些系统级的应用该目录下的应用能获取到比较高的权限应用不可卸载如Phone、Contacts等system/priv-app/ 该目录是从Android 4.4开始出现的目录它存放的是一些系统核心应用能获取到比system/app/下应用更高的权限应用不可卸载如:Setting、SystemUI等。vendor/app/ 该目录存放制造商的一些应用应用不可卸载。data/app/ 该目录下存放的一些第三方应用应用可卸载。