• 在Linux环境中以Android源码目录为根目录
    • 生成临时文件platformpem
    • 在目录下生成platformp12文件它本质上应该就是一个数字证书
    • 生成 eclipse和AS都识别 platformjks
    • 配置gradleapp
    • 参考链接

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'        }    }}

参考链接

  • http://blog.csdn.net/as3luyuan123/article/details/16105475
  • http://blog.csdn.net/u013338165/article/details/39973655
  • http://blog.csdn.net/huil0925/article/details/51554208
  • http://blog.csdn.net/cxq234843654/article/details/51557025

更多相关文章

  1. Android,一个函数实现上传文件(单个,多文件)
  2. Android(安卓)init.rc文件解析过程详解(一)
  3. 快速反编译APK
  4. Android(安卓)开发之 RecyclerView Adapter 模板
  5. 模拟器1.5 :Avd 创建,adb 命令攻略
  6. Android术语详解
  7. 无法对jar进行签名,Android(安卓)jarsigner问题
  8. Android(安卓)Studio将lib项目打包成jar和aar
  9. Android(安卓)源码中增加自定义系统服务

随机推荐

  1. Android开发最佳实践
  2. Android世界第一个activity启动过程
  3. listView 取消点击背景
  4. Android移植之dropbear
  5. gdb+gdbserver调试android的so文件
  6. Android(安卓)RecyclerView利用Glide加载
  7. android - Gesture学习 1
  8. Android(安卓)HAL层与Linux Kernel层驱动
  9. Android(安卓)Studio NDK项目移植问题 re
  10. Android——详解Paint的setPathEffect(Pa