使用Android Studio實現(xiàn)為系統(tǒng)級的app簽名
我們在做系統(tǒng)級的app開發(fā)時,往往會在AndroidManifest.xml文件中添加:android:sharedUserId=”android.uid.system”以獲取系統(tǒng)級的權限,如果你正在使用Android Studio進行開發(fā),編譯生成的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工具,和簽名所需的系統(tǒng)簽名文件。
下載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文件

三、使用keytool-importkeypair工具為生成的jks文件添加系統(tǒng)簽名。
首先配置keytool-importkeypair的環(huán)境變量,在user文件夾下新建bin目錄,將keytool-importkeypair復制到bin目錄下,然后將bin目錄添加到PATH變量中。
export PATH=$PATH:/home/username/bin;
將兩個系統(tǒng)簽名文件platform.x509.pem、platform.pk8復制到jks文件所在的目錄中,運行以下命令為簽名文件添加系統(tǒng)簽名:
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實現(xiàn)為系統(tǒng)級的app簽名就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
實例講解Android中ContentProvider組件的使用方法
這篇文章主要介紹了Android中ContentProvider組件的使用方法,包括ContentProvider使用單元測試的步驟,需要的朋友可以參考下2016-04-04
Android編程實現(xiàn)在Activity中操作刷新另外一個Activity數(shù)據(jù)列表的方法
Android仿美團網(wǎng)、大眾點評購買框懸浮效果修改版
Android中導航組件Navigation的實現(xiàn)原理
Android開發(fā)之獲取LayoutInflater對象的方法總結(jié)
Android中Uri和Path之間的轉(zhuǎn)換的示例代碼

