1. 程式人生 > 程式設計 >使用Android Studio實現為系統級的app簽名

使用Android Studio實現為系統級的app簽名

我們在做系統級的app開發時,往往會在AndroidManifest.xml檔案中新增:android:sharedUserId=”android.uid.system”以獲取系統級的許可權,如果你正在使用Android Studio進行開發,編譯生成的apk會因為簽名問題無法安裝。

此時有兩個解決方案,

1,是將編譯好的apk放入原始碼中vender目錄下,編寫相應的android.mk檔案,並在檔案中加入:

LOCAL_CERTIFICATE := platform

然後使用“mmm your_apk_file”編譯你的apk。

之後會在”out/target/product/youProduct/system/priv-app”下生成對應的帶簽名的apk檔案。

第二種,就是下邊將要介紹的,對於習慣使用ide的同學準備的。

一.準備

首先要準備keytool-importkeypair工具,和簽名所需的系統簽名檔案。

下載keytool-importkeypair

https://github.com/getfatday/keytool-importkeypair

簽名檔案

build/target/product/security/ platform.x509.pem、platform.pk8

二、使用Android studio 生成自己的jks檔案

開啟新建key的介面:

build->Generate Signed APK…

填寫jks路徑、密碼、別名等資訊,點選OK生成jks檔案

使用Android Studio實現為系統級的app簽名

三、使用keytool-importkeypair工具為生成的jks檔案新增系統簽名。

首先配置keytool-importkeypair的環境變數,在user資料夾下新建bin目錄,將keytool-importkeypair複製到bin目錄下,然後將bin目錄新增到PATH變數中。

export PATH=$PATH:/home/username/bin;

將兩個系統簽名檔案platform.x509.pem、platform.pk8複製到jks檔案所在的目錄中,執行以下命令為簽名檔案新增系統簽名:

keytool-importkeypair -k [jks檔名] -p [jks的密碼] -pk8 platform.pk8 -cert platform.x509.pem -alias [jks的別名]

四、配置gradle檔案使用簽名檔案

配置build.gradle檔案(Module:app),在Android{}程式碼塊中新增如下程式碼:

  signingConfigs {
    release {
      storeFile file("/home/mi/android_key/mykey_e8.jks")
      storePassword 'android'
      keyAlias 'platform'
      keyPassword 'android'
    }

    debug {
      storeFile file("/home/mi/android_key/mykey_e8.jks")
      storePassword 'android'
      keyAlias 'platform'
      keyPassword 'android'
    }
  }

五、編譯執行

點選run或者debug執行app,這樣裝在手機後就能夠正確運行了。

以上這篇使用Android Studio實現為系統級的app簽名就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。