android 编译

每次遇到编译android,是不是总有个冗繁的过程,感觉机器不给力不是,整理了一些。

加速ubuntu 虚拟机编译android /linux 系统的方法

内核加速方法  
1.安装ccache  
sudo apt-get install ccache  
2.添加缓存路径  
vi ~/.bashrc 再最后面添加一行指定缓存路径  
export CCACHE_DIR=/opt/ccache  
3.测试  
make clean 后再make zImage 一次就生效,一般会加速一倍时间。  
可以time make zImage -jx来测试,(x是响应的内核数)

表 . 产品版本定义文件中的变量及其说明

常量 说明
PRODUCT_NAME 最终用户将看到的完整产品名,会出现在“关于手机”信息中。
PRODUCT_MODEL 产品的型号,这也是最终用户将看到的。
PRODUCT_LOCALES 该产品支持的地区,以空格分格,例如:en_GB de_DE es_ES fr_CA。
PRODUCT_PACKAGES 该产品版本中包含的 APK 应用程序,以空格分格,例如:Calendar Contacts。
PRODUCT_DEVICE 该产品的工业设计的名称。
PRODUCT_MANUFACTURER 制造商的名称。
PRODUCT_BRAND 该产品专门定义的商标(如果有的话)。
PRODUCT_PROPERTY_OVERRIDES 对于商品属性的定义。
PRODUCT_COPY_FILES 编译该产品时需要拷贝的文件,以“源路径 : 目标路径”的形式。
PRODUCT_OTA_PUBLIC_KEYS 对于该产品的 OTA 公开 key 的列表。
PRODUCT_POLICY 产品使用的策略。
PRODUCT_PACKAGE_OVERLAYS 指出是否要使用默认的资源或添加产品特定定义来覆盖。
PRODUCT_CONTRIBUTORS_FILE HTML 文件,其中包含项目的贡献者。
PRODUCT_TAGS 该产品的标签,以空格分格。

表 . 各种模块的编译方式的定义文件

文件名 说明
host_static_library.mk 定义了如何编译主机上的静态库。
host_shared_library.mk 定义了如何编译主机上的共享库。
static_library.mk 定义了如何编译设备上的静态库。
shared_library.mk 定义了如何编译设备上的共享库。
executable.mk 定义了如何编译设备上的可执行文件。
host_executable.mk 定义了如何编译主机上的可执行文件。
package.mk 定义了如何编译 APK 文件。
prebuilt.mk 定义了如何处理一个已经编译好的文件 ( 例如 Jar 包 )。
multi_prebuilt.mk 定义了如何处理一个或多个已编译文件,该文件的实现依赖 prebuilt.mk。
host_prebuilt.mk 处理一个或多个主机上使用的已编译文件,该文件的实现依赖 multi_prebuilt.mk。
java_library.mk 定义了如何编译设备上的共享 Java 库。
static_java_library.mk 定义了如何编译设备上的静态 Java 库。
host_java_library.mk 定义了如何编译主机上的共享 Java 库。


你可能感兴趣的:(android 编译)