由于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获取系统的权限