1 原理
- 主要是在Android OS中建立檔案夾,通過腳本生成對應的platform.keystore的程序,
- 編譯出android.jar 這個jar包可以用于替換Android Studio中的相應檔案,這樣就可以使用Android Framework中自己實作的服務介面了,
2 修改方案(Android O P Q)
@1 生成系統簽名
在檔案夾build/make/target/product/security 中建立一個新的目錄 make_platformkey,
拷貝build/make/target/product/security/platform.pk8檔案和build/make/target/product/security/platform.x509.pem檔案 到該目錄下,之后執行命令:
openssl pkcs8 -in platform.pk8 -inform DER -outform PEM -out shared.priv.pem -nocrypt
openssl pkcs12 -export -in platform.x509.pem -inkey shared.priv.pem -out shared.pk12 -name androiddebugkey
提示password:輸入android
keytool -importkeystore -deststorepass android -destkeypass android -destkeystore platform.keystore -srckeystore shared.pk12 -srcstoretype PKCS12 -srcstorepass android -alias androiddebugkey
中間生成檔案為:shared.priv.pem和shared.pk12,最后生成platform.keystore,至此,簽名生成,
@2 安卓原始碼編譯自定義SDK android.jar
在原始碼 AOSP目錄下執行命令:
souce build/envsetup.sh
lunch sdk-eng
make sdk
注意:
- 首先:這里如果使用谷歌原生的原始碼直接編譯是沒有問題的,難點是在高通平臺 或者是第三方平臺編譯時需要根據實際情況進行部分代碼的改動,否則會編譯出錯,
- 其次: 谷歌的原始碼可以做相應的改動 來適配新的OS層的介面,不一定非要在第三方平臺上死磕的,因為很多時候支持不到位 并不能直接解決問題,這時候是需要曲線救國的,
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/256829.html
標籤:其他
