
anroid build system
wh_19910525
这个作者很懒,什么都没留下…
展开
-
android的 makefile -- Android.mk 分析
对于一个程序新手而言,好的IDE是他们追捧的对象。但当他接触的代码多了之后,就会逐渐发现IDE不够用了,因为有好多东西用IDE是不好做的,例如自动编译,测试,版本控制,编译定制等。这跟政治课上的一句话有点像:资本主义开始的时候是促进生产力发展的,但到了后来又成了阻碍生产力发展的因素了。如果一个程序不能摆脱IDE的限制(不是不用,而是要有选择的用),那么他就很难提高。要知道,IDE和makefile原创 2012-04-27 19:50:38 · 14461 阅读 · 3 评论 -
Android平台Overlay机制
Android overlay 机制允许在不修改packages中apk的情况下,来自定义 framework和package中的资源文件,实现资源的定制。来达到显示不同的UI得目的(如MIUI)。以下几类能够通过该机制定义:(1),Configurations (string, bool, bool-array)(2),Localization (string, string-arr原创 2014-09-13 20:27:55 · 41945 阅读 · 5 评论 -
关于android.mk中的LOCAL_OVERRIDES_PACKAGES 说明
关于android.mk中的LOCAL_OVERRIDES_PACKAGES需要说明一下,此变量可以使其他的模块不加入编译,如: 源码中DeskClock的android.mk有LOCAL_OVERRIDES_PACKAGES := AlarmClock使 AlarmClock不会加入到编译系统中,不会生成 AlarmClock.apk。原先我是死活不明白会什么有两个闹钟原创 2014-03-05 13:26:13 · 23859 阅读 · 0 评论 -
签名 和 sharedUserId
安装在android系统中的每一个apk文件,Android给每个APK进程分配一个单独的用户空间,其manifest中的userid就是对应一个Linux用户id,之所以 分配单独的用户进程以防止apk影响其他应用程序(或者其他应用程序影响它)。用户ID 在应用程序安装到设备中时被分配,并且在这个设备中保持它的永久性。 通过Shared User id,拥有同一个User id的多原创 2013-01-05 23:27:26 · 1678 阅读 · 0 评论 -
Android.mk 的变量 分析
LOCAL_XXX的列表说明: 必须定义, 在app或package的Android.mk中必须给定值。 可选定义,在app或package的Android.mk中可以也可以不给定值。 不用定义,在app或package的Android.mk中不要给定值,脚本自动指定值。LOCAL_PATH, 当前路径,必须定义。LOCAL_原创 2013-03-12 19:58:36 · 7066 阅读 · 0 评论 -
android的makefile 特有的 dd
$(call inherit-product, device/xxx/version_id.mk)version_id.mk 被 xxx 项目 调用,这个 mk的位置 是 device/xxx/ 下。一般 若是 源码编译 一个板子 项目,而在 这个项目里,用到了 很多 相关的makefile,那么 需要用 $(call inherit-product, 相关makefile) 把原创 2012-09-18 19:45:21 · 1460 阅读 · 0 评论 -
Android.mk 使用 环境 小结
一、将无源码的 APK 和它 依赖的库预置进系统,此apk可以升级二、++++++++++++++++++++++++++++++一、将无源码的 APK 和它 依赖的库预置进系统,此apk可以升级---------- cut here ------------------LOCAL_PATH := $(call my-dir)#预置aliuyi.原创 2012-12-06 17:42:04 · 38740 阅读 · 1 评论 -
ProGuard -- java代码进行混淆
Java的字节码一般是非常容易反编译的。为了很好的保护Java源代码,我们往往会对编译好的class文件进行混淆处理。ProGuard的主要作用就是混淆。当然它还能对字节码进行缩减体积、优化等,但那些对于我们来说都算是次要的功能。一、Android Eclipse开发环境与ProGuard 在Android 2.3以前,混淆Android代码只能手动添加原创 2012-12-18 21:59:54 · 4510 阅读 · 0 评论 -
android通过 哪些变量 来决定 哪些应用 会被编译进系统
Andriod默认情况下将apk,都会安装到/system/app目录下。在编译系统时,Androd会根据每个应用的Android.mk文件里的LOCAL_MODULE_TAGS这个变量的值,来决定这个应用是否会编译到系统里。 通常情况下LOCAL_MODULE_TAGS变量的值有user、optional、debug、eng、tests、samples这几个值。在2.2里如果LO原创 2012-12-07 17:06:18 · 2489 阅读 · 0 评论 -
源码编译-app
1、defining DISABLE_DEXPREOPT=true in your environment, this will disable the Dex pre-optimization;在 android 编译系统里 定义了 DISABLE_DEXPREOPT=true ,那么 编译 apk 时,将不会分离 DEX;原创 2012-12-04 14:24:35 · 1288 阅读 · 0 评论 -
android“设置”里的版本号
在文件 packages/apps/Settings/src/com/android/settings/DeviceInfoSettings.java 中setStringSummary("build_number", Build.DISPLAY);指定了设置--关于设备--版本号。Build.DISPLAY即Build类中的 DISPLAY 变量,在文件framework原创 2012-12-12 12:16:26 · 18644 阅读 · 2 评论 -
android的 makefile里 的常用 宏定义
在Android编译框架中,把许多固定的、反复用到的目录路径定义为 宏变量,常用 宏 如下:out/target/product/xxx的宏即为:PRODUCT_OUTout/target/product/xxx/system的宏即为:TARGET_OUTout/target/product/xxx/root的宏即为:TARGET_ROOT_OUT,devi原创 2012-09-18 17:41:49 · 16155 阅读 · 1 评论 -
android编译系统 整体 简介
本地模块的Makefile文件就是我们在Android里面几乎上随处可见的Android.mk。Android进行编译的时候会通过下面的函数来遍历所有子目录中的Android.mk,一旦找到就不会再往层子目录继续寻找(所以你的模块定义的顶层Android.mk必须包含自己定义的子目录中的Android.mk)。 subdir_makefiles += \原创 2012-12-06 19:36:17 · 1479 阅读 · 0 评论 -
Build system 英文说明 -- Andrlid.mk说明
本文的位置 在源码的 build/core/build-system.html ,以下 部分 文档 是 本人 觉得 比较 重要的 地方,尽量看 加粗 和 上颜色的 部分,他们是 重点!LOCAL_MODULE_CLASSThis variable is used to construct othervariable names used to翻译 2012-12-06 17:42:16 · 1148 阅读 · 0 评论 -
Android.mk for your own module
这里我们向Android中添加自己的模块,只涉及到.so/*.a/elf source的编译,以及如何将prebuiltfile添加进工程。对于APK以及jar的source暂时没有仔细研究,要添加进去的话可以参照/pacakge和/framework里面的Android.mk ~~ 首先是可能用得到的基础知识,必须了解基础Makefile的语法,然后下面是Andriod用来编译相应模原创 2014-09-29 13:06:40 · 1166 阅读 · 0 评论