如何把应用程序app编译进android系统
来源:互联网 发布:保暖帽 知乎 编辑:程序博客网 时间:2024/04/28 04:04
转载:
http://ywxiao66.blog.163.com/blog/static/175482055201152710441106/
------------------------------------------------------------------
把常用的应用程序编译到img文件中,就成了系统的一部分,用户不必自己安装,当然也卸载不了;
同时也可以删减系统自带的应用程序,精简系统;
1.\build\target\product 目录下generic.mk文件:
我们添加一个testMid \ 应用名称。
2.把testMid包放入
\packages\apps 目录下,修改android.mk文件。
注:LOCAL_PACKAGE_NAME := testMid (包名必须和generic.mk中添加的相同)
编译源码,可以看到在
\out\target\product\smdkv210\system\app
目录下生存了testMid.apk了。这时system.img也包含了此应用。
-------------------------------------------------------------------
特殊情况:有时,应用需要包含jar包,这时的app导入源码时会出现问题:
MODULE.TARGET.JAVA_LIBRARIES.libarity already defined by ... stop
由于 LOCAL_STATIC_JAVA_LIBRARIES := libarity 会引发错误信息。
目前解决方法是:
\build\core 目录下修改base_rules.mk
注释掉错误信息:
ifdef $(module_id)
#$(error $(LOCAL_PATH): $(module_id) already defined by $($(module_id)))
endif
$(module_id) := $(LOCAL_PATH)
--重新编译,这时可以通过了。
(2)、删除原厂(Telchips)带源码的应用程序,如DTV_DVBT
在/device/telechips/m801/device.mk
注释掉相应语句:
# PRODUCT_PACKAGES += \
# SampleDVBTPlayer \
同时,在/out/target/product/m801/system/app 找到相应的.APK包,并删除
http://ywxiao66.blog.163.com/blog/static/175482055201152710441106/
------------------------------------------------------------------
把常用的应用程序编译到img文件中,就成了系统的一部分,用户不必自己安装,当然也卸载不了;
同时也可以删减系统自带的应用程序,精简系统;
1.\build\target\product 目录下generic.mk文件:
- PRODUCT_PACKAGES := \
- AccountAndSyncSettings \
- DeskClock \
- AlarmProvider \
- Bluetooth \
- Calculator \
- Calendar \
- Camera \
- testMid \
- CertInstaller \
- DrmProvider \
- Email \
- Gallery3D \
- LatinIME \
- Launcher2 \
- Mms \
- Music \
我们添加一个testMid \ 应用名称。
2.把testMid包放入
\packages\apps 目录下,修改android.mk文件。
- LOCAL_PATH:= $(call my-dir)
- include $(CLEAR_VARS)
- LOCAL_MODULE_TAGS := optional
- LOCAL_SRC_FILES := $(call all-subdir-java-files)
- LOCAL_PACKAGE_NAME := testMid
- LOCAL_CERTIFICATE := platform
- include $(BUILD_PACKAGE)
注:LOCAL_PACKAGE_NAME := testMid (包名必须和generic.mk中添加的相同)
编译源码,可以看到在
\out\target\product\smdkv210\system\app
目录下生存了testMid.apk了。这时system.img也包含了此应用。
-------------------------------------------------------------------
特殊情况:有时,应用需要包含jar包,这时的app导入源码时会出现问题:
MODULE.TARGET.JAVA_LIBRARIES.libarity already defined by ... stop
由于 LOCAL_STATIC_JAVA_LIBRARIES := libarity 会引发错误信息。
目前解决方法是:
\build\core 目录下修改base_rules.mk
注释掉错误信息:
ifdef $(module_id)
#$(error $(LOCAL_PATH): $(module_id) already defined by $($(module_id)))
endif
$(module_id) := $(LOCAL_PATH)
--重新编译,这时可以通过了。
(2)、删除原厂(Telchips)带源码的应用程序,如DTV_DVBT
在/device/telechips/m801/device.mk
注释掉相应语句:
# PRODUCT_PACKAGES += \
# SampleDVBTPlayer \
同时,在/out/target/product/m801/system/app 找到相应的.APK包,并删除
0 0
- 如何把应用程序app编译进android系统
- 如何把应用程序app编译进android系统
- 如何把应用程序app编译进android系统
- 如何把应用程序app编译进android系统
- 如何把应用程序app编译进android系统
- 如何把应用程序app编译进android系统
- 如何把应用程序编译进android系统
- 如何把应用程序添加到系统服务
- 如何把同一个Android项目同时安装到手机上--Android系统如何区分不同app
- 怎把第三方apk编译进Android系统
- android安装系统应用程序(system/app)
- 把自己的应用程序push至system/app下,把自己的app改成系统级别的app
- Android-Binder系统APP编译运行
- Android4.2.2源码编译-如何把第三方的动态库重新编译到Android系统的/system/lib目录
- Android4.2.2源码编译-如何把第三方的动态库重新编译到Android系统的/system/lib目录
- Android 如何编译一个 system-process app。
- android 如何把新建项目的那个 android app project
- How to Secure an Android App 如何保护Android应用程序
- Java 利用DFA算法 屏蔽敏感词
- 正则表达式
- 获取设备的序列号
- JVM:查看java内存情况命令
- @Override 重写父类的方法. @Nullable 表示定义的字段可以为空.
- 如何把应用程序app编译进android系统
- Number of Digit One 计算十进制1出现的个数
- NGUI坑爹的ScrollView
- 解决问题: terminate called after throwing an instance of 'std::runtime_error' what(): locale::facet::
- ElasticSearch简介
- 合并k个有序数组
- centos下安装nginx
- Socket编程
- iOS NSSortDescriptor