AndroidStudio 添加系統簽名

在做 Android 系統定製時,開發自家的 APP,可能會需要使用到一些特殊的權限,系統相關的 API 等等。因此,APP 自身需要有系統簽名才能使用這些權限和 API。那我們要怎麼獲取系統簽名,並給 APP 簽上系統簽名呢?下面講解三種簽名方式。

第一種:系統編譯簽名

在相應 APP 工程目錄的mk文件中,添加下面這句話即可:

...
LOCAL_CERTIFICATE := platform
...

第二種:signapk 簽名

signapk 簽名方式就是把一個 apk 用新的簽名文件重新簽名生成一個新的簽名 apk。

java -jar signapk.jar platform.x509.pem platform.pk8 *.apk *new.apk

其中,signapk.jar,platform.x509.pem 和 platform.pk8保存在系統中的路徑如下:

/build/make/target/product/security/platform.x509.pem
/build/make/target/product/security/platform.pk8
/out/host/linux-x86/framework/signapk.jar

第三種:AndroidStudio 簽名

  • 下載 keytool-importkeypair

下載 keytool-importkeypair 這個腳本文件。

  • 生成簽名文件

在 Linux 環境使用如下命令:

keytool-importkeypair -k platform.keystore -p android -pk8 platform.pk8 -cert platform.x509.pem -alias platform

執行上面命令後,就會生成一個 platform.keystore 的系統簽名文件。有了這個系統簽名文件後,我們就可以用 AndroidStudio 來簽名啦!找到 APP 的 build.gradle,並添加如下代碼,就可以在我們調試的時候自帶系統簽名啦,不用再做額外的動作省時省力。

  • 修改 build.gradle

build.gradle

signingConfigs {
    platform {
        //簽名文件的路徑
        storeFile file('***\\platform.keystore')
        storePassword 'android'
        keyAlias = 'platform'
        keyPassword 'android'
    }
}

buildTypes {
    ...
    debug {
        signingConfig signingConfigs.platform
    }
}

後面我們直接 run 就可以生成帶系統簽名的 apk 啦!

總結

前面講了三種簽名方法,前面兩種都不方便我們平時調試的時候使用,如果要調試下 APP,要麼編譯下源碼,要麼生成APK,在用命令的方式重新簽名,都不方便,且費時。通過 AndroidStudio 直接簽名的方式,可以爲我們開發系統級應用節省不少時間。所以,大家在做系統級應用開發的時候,能用第三種,最好還是使用第三種。

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