android之APP模块编译

来源:互联网 发布:移动端网页聊天室源码 编辑:程序博客网 时间:2024/05/02 02:49

一,如何把app编进系统

    a.源码编译,在packages/apps目录下有安卓原生的app,以Bluetooth为例,源码根目录下有Android.mk文件:

    packages\apps\Bluetooth

[html] view plain copy
  1. LOCAL_PATH:= $(call my-dir)  
  2. include $(CLEAR_VARS)  
  3. #负责清理除LOCAL_PATH外的其他LOCAL_XXX,这个清理动作是必须的,因为所有的编译控制文件由同一个GNU  Make解析和执行,  
  4. #其变量是全局的。所以清理后才能避免相互影响。  
  5. LOCAL_MODULE_TAGS :optional  
  6.   
  7. LOCAL_SRC_FILES := \  
  8.         $(call all-java-files-under, src)  
  9.   
  10. LOCAL_PACKAGE_NAME :Bluetooth  
  11.   
  12. LOCAL_CERTIFICATE :platform  
  13. #使用系统签名  
  14. LOCAL_JNI_SHARED_LIBRARIES :libbluetooth_jni  
  15. LOCAL_JAVA_LIBRARIES :javax.obex telephony-common mms-common  
  16. LOCAL_STATIC_JAVA_LIBRARIES :com.android.vcard  
  17. LOCAL_JAVA_LIBRARIES += com.broadcom.bt   
  18.   
  19. LOCAL_REQUIRED_MODULES :libbluetooth_jni bluetooth.default  
  20.   
  21. LOCAL_PROGUARD_ENABLED :disabled  
  22. #不使用代码混淆的工具进行代码混淆,不设置则默认值为full,即将该工程代码全部混淆  
  23. include $(BUILD_PACKAGE)  
  24.   
  25. include $(call all-makefiles-under,$(LOCAL_PATH))  
     在packages\apps\Bluetooth下mm,可单独编译,在\out\target\product\xxx\system\app下会生成Bluetooth.apk。

     然后修改build下的mk文件,增加蓝牙模块,这样在源码根目录下执行make就会编译到Bluetooth模块

\build\target\product\generic_no_telephony.mk

[html] view plain copy
  1. PRODUCT_PACKAGES := \  
  2.     DeskClock \  
  3.     Bluetooth \     #增加蓝牙模块  
  4.     Calculator \  

    b.apk编译,针对没有源码的第三方apk,修改android.mk:

[html] view plain copy
  1. LOCAL_PATH := $(call my-dir)  
  2. include $(CLEAR_VARS)  
  3. # Module name should match apk name to be installed  
  4. LOCAL_MODULE :Animation  
  5. LOCAL_MODULE_TAGS :optional  
  6. LOCAL_SRC_FILES :Animation.apk  
  7. LOCAL_MODULE_CLASS :APPS  
  8. LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)  
  9. LOCAL_CERTIFICATE :PRESIGNED  
  10. include $(BUILD_PREBUILT)  
还需要修改device.mk:
[html] view plain copy
  1. PRODUCT_PACKAGES +=\  
  2.        PackageInstallerRenew\  
  3.        Video\  
  4.        TlrService\  
  5.        Animation\   #添加Animation模块  

二,如何删除app,使当前app不会编进系统

    在packages/apps目录下有安卓原生的app,有一些app是不需要的。

LOCAL_PACKAGE_NAME    packages\apps\Bluetooth\Android.mk

[html] view plain copy
  1. LOCAL_SRC_FILES := \  
  2.         $(call all-java-files-under, src)  
  3. LOCAL_PACKAGE_NAME :Bluetooth5   #将Bluetooth重命名为Bluetooth5。也可更改generic_no_telephony.mk  
  4. #保证和generic_no_telephony.mk增加的模块名字不一致即可  
  5. LOCAL_CERTIFICATE :platform  
   特别注意,有的模块不一定在generic_no_telephony.mk中增加,可通过find . -name "*.mk" | xargs grep "Bluetooth"来查看在哪个mk里面声明了。由于大部分企业都没有统一的管理规范,一个模块有时候会在多个mk中增加,所以最快的方式就是更改packages\apps\Bluetooth\Android.mk的LOCAL_PACKAGE_NAME ,或者置空。
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 退烧后体温35度怎么办 孩子体温34度多怎么办 宝宝感冒咳嗽流鼻涕出汗怎么办 养的小鸡总打架怎么办 小鸡一条腿瘸了怎么办 同窝小斗鸡打架怎么办 夏季羊长的慢怎么办 1岁吃母乳不吃饭怎么办 5个月宝宝黏妈妈怎么办 九个月宝宝不爱吃饭怎么办 20个月宝宝吐了怎么办 十个月的宝宝消化不好怎么办 两岁宝宝不爱喝水怎么办 两岁宝宝不爱喝水吃饭怎么办 两岁的宝宝不爱喝水怎么办 宝宝不爱吃饭不爱喝水怎么办 一多半宝宝爱喝水 不爱吃饭怎么办 1岁宝宝不爱吃饭喝水怎么办 两岁小宝宝不爱吃饭怎么办 4个月小宝宝咳嗽怎么办 3个月小宝宝咳嗽怎么办 2个月小宝宝咳嗽怎么办 8的岁儿童腿不直怎么办 作业盒子选错年级怎么办 两岁x型腿怎么办 绿萝叶子有水滴怎么办 打游戏变菜了怎么办 车被记号笔画了怎么办 水溶性彩铅受潮了怎么办 马克笔颜色涂深了怎么办 染发膏染眉毛了怎么办 用电容笔画画手有触感怎么办 CAD画图线性数字不居中怎么办 3d立体画笔堵塞怎么办 龋齿树脂填充老化后怎么办 小孩补过的牙疼怎么办 颜料弄到墙纸上怎么办 4岁的宝宝不爱涂色怎么办 oppo手机截图存不到相册怎么办 做的ih5保存不了怎么办 小偷偷东西发现后逃跑了怎么办?