• android通过 哪些变量 来决定 哪些应用 会被编译进系统


        Andriod默认情况下apk,都会安装到/system/app目录下在编译系统时,Androd会根据每个应用的Android.mk文件里的LOCAL_MODULE_TAGS这个变量的值,来决定这个应用是否会编译到系统里

           通常情况下LOCAL_MODULE_TAGS变量的值有user、optional、debug、eng、tests、samples这几个值。在2.2里如果LOCAL_MODULE_TAGS变量的值为user那么系统直接就会将这个应用的apk安装到systm/app目录下,但是在2.3里将这个变量的值赋值为user系统会做一个处理,会根据LOCAL_MODULE的值于GRANDFATHERED_USER_MODULES变量的值进行比较,如果LOCAL_MODULE变量的值在GRANDFATHERED_USER_MODULES变量里没有,那么系统就会报错;默认情况下user debug eng 都会被编译到系统里;

            如果是optional,那么会根据要编译的LOCAL_MODULE 是否在PRODUCT_PACKAGES这个变量中,如果在,就会编译到系统里;如果没有,那么就不会被编译到系统里。tests会根据编译的版本的vatiant来决定是否编译到系统里,而samples只是一个例子一般都不会被编译到系统里的。在Android里只有几个samples是可以被编译到系统里的,但是默认情况是没有被编译的。

           但是在android系统里java应用如果生成了apk包就会被安装到system/app目录下,想将java应用编译生成apk包而且不被编译到系统里那么我们就等修改该Android系统的Makefile文件系统


  • 相关阅读:
    八款前端开发人员更轻松的实用在线工具
    HTML5中的Web Notification桌面通知(右下角提示)
    老司机程序员用到的各种网站整理
    JAVA变量存储
    关于JAVA中的前期绑定 后期绑定(动态绑定)
    i MySQL 查看约束,添加约束,删除约束
    final static
    MySQL alter语句
    MySQL 权限生效
    MySQL 用户权限管理
  • 原文地址:https://www.cnblogs.com/liulaolaiu/p/11744739.html
Copyright © 2020-2023  润新知