由於APK需要系統的一些權限,所以需要給APK添加系統簽名
當我們在AndroidStudio中編譯APK的時候,使編譯出來的APK自帶簽名,需要如下的幾步。
1.獲取系統簽名文件
系統簽名文件的獲取,需要在源碼中拷貝出來如下幾個文件,platform.pk8 platform.x509.pem
然後編寫如下腳本,運行這個腳本就可以生成系統簽名文件啦:
#!/bin/sh
./keytool-importkeypair -k system_signature.jks -p 123456 -pk8 platform.pk8 -cert platform.x509.pem -alias system_signature
system_signature.jks就是生成的簽名文件,123456就是簽名文件的密碼
keytool-importkeypair簽名工具獲取路徑,見鏈接
2.Android studio中添加簽名文件
在moudle:app build.gradle中添加如下代碼
android {
signingConfigs {
release {
keyAlias 'system_signature'
keyPassword '123456'
storeFile file('D:/system_signature/system_signature.jks')
storePassword '123456'
}
}
signingConfigs {
debug {
keyAlias 'system_signature'
keyPassword '123456'
storeFile file('D:/system_signature/system_signature.jks')
storePassword '123456'
}
}
compileSdkVersion 28
buildToolsVersion '28.0.1'
defaultConfig {
applicationId "com.android.test"
minSdkVersion 22
targetSdkVersion 28
signingConfig signingConfigs.release
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
signingConfig signingConfigs.release
}
debug {
signingConfig signingConfigs.debug
}
}
}
在AndroidManifest.xml中添加:
android:sharedUserId="android.uid.system"
通過以上這些步驟,既可以使自己的APP獲取系統的權限