Android Framework 常見解決方案(12)生成系統簽名 & 安卓源碼編譯自定義SDK android.jar

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層的接口,不一定非要在第三方平臺上死磕的,因爲很多時候支持不到位 並不能直接解決問題,這時候是需要曲線救國的。

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章