[App] Android app signature to obtain system permissions, keystore production

背景:

      签名应该有两种方式吧,

一种是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里面配置



今天记录的是第二种。

Required documents:

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

              build/target/product/security/platform.pk8

 

keytool-importkeypair download path:

                                                   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 ~

 

Guess you like

Origin blog.csdn.net/John_chaos/article/details/113978155