背景:
签名应该有两种方式吧,
一种是java -Djava.library.path=. -jar signapk.jar platform.x509.pem platform.pk8 app-debug.apk app_signed.apk
第二种是
生成keystore,然后配置在gradle里
--------------------
以前都是用第一种,AS编译生成.apk文件,然后用bat来签名
第二种应该比较方便,先生成keystore文件,然后在gradle里面配置
今天记录的是第二种。
所需要文件:
build/target/product/security/platform.x509.pem
build/target/product/security/platform.pk8
https://github.com/getfatday/keytool-importkeypair
password: android
alias: platform
然后生成的keystore我放在\StressTest\app,然后我这里文件路径直接写的slm756_keystore
(工程下的app目录下,当然放在电脑哪里都可以,指定文件路径就行了)
---------
signingConfigs {
sginconfig {
keyAlias 'platform'
keyPassword 'android'
storeFile file('slm756_keystore')
storePassword 'android'
}
}
buildTypes {
release {
signingConfig signingConfigs.sginconfig
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
signingConfig signingConfigs.sginconfig
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
然后我这里遇到了一个问题
在做机器重启的压力测试时,这个立即重启广播不允许发送.
"Permission Denial: not allowed to send broadcast android.intent.action.REBOOT from pid=5331, uid=10076"
然后我修改了下AndroidManifest.xml
添加了android:sharedUserId="android.uid.system", 就可以重启了.
end ~