每次遇到编译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 库。 |