每次遇到編譯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 庫。 |