Android studio 自动生成带系统权限的apk

1 在Linux环境中,以Android源码目录为根目录

cd build/target/product/security/

2. 生成临时文件platform.pem

openssl pkcs8 -inform DER -nocrypt -in platform.pk8 -out platform.pem

3. 在目录下生成platform.p12文件,它本质上应该就是一个数字证书。

脚本如下:
openssl pkcs12 -export -in platform.x509.pem -out platform.p12 -inkey platform.pem -password pass:[jks的别名的密码] -name [jks的别名]

解释一下参数的意思:
1. -export:这个选项指定了一个PKCS#12文件将会被创建。
2. -in filename:指定私钥和证书读取的文件,默认为标准输入。必须为PEM格式。
3. -out filename:指定输出的pkcs12文件,默认为标准输出。

  1. -inkey filename:指定私钥文件的位置。如果没有被指定,私钥必须在-in filename中指定。
  2. -name name:指定证书以及私钥的友好名字。当用软件导入这个文件时,这个名字将被显示出来。

例如我的

openssl pkcs12 -export -in  platform.x509.pem -out platform.p12 -inkey  platform.pem -password pass:123456 -name hoyouly

5. 生成 eclipse和AS都识别 platform.jks

脚本如下
keytool -importkeystore -deststorepass [jks的密码] -destkeystore ./[jks文件] -srckeystore ./platform.p12 -srcstoretype PKCS12 -srcstorepass [jks的别名的密码]

解释一下参数的意思:

  1. -destkeystore <目标密钥库>
  2. -deststorepass <目标存储库口令>
  3. -srckeystore <源密钥库>
  4. -srcstoretype <源存储类型>
  5. -srcstorepass <源存储库口令>

例如我的脚本:

keytool -importkeystore -deststorepass 123456 -destkeystore ./hoyouly.jks -srckeystore ./platform.p12 -srcstoretype PKCS12 -srcstorepass 123456

6 配置gradle(app)

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"
    defaultConfig {
        applicationId "com.hoyouly.demo"
        minSdkVersion 15
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    signingConfigs {
        release {
            storeFile file("../SignAPK/hoyouly.jks")  //相对于本文件的路径
            storePassword '123456'  //密码
            keyAlias 'hoyouly' //别名
            keyPassword '123456'    //别名密码
        }

        debug {
            storeFile file("../SignAPK/hoyouly.jks")
            storePassword '123456'
            keyAlias 'hoyouly'
            keyPassword '123456'
        }
    }
}

参考链接

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值