android开发制作aosp系统签名文件给普通apk签名使用

制作系统签名(具体在build\target\product\security\README文件有说明):

  1. platform.pk8和platform.x509.pem复制出来放在同一目录下
    将AOSP源码路径下build\target\product\security\platform.pk8和platform.x509.pem复制出来放在同一目录下

  2. 新开一个ternimal窗口执行下面命令,生成platform.pem文件
    openssl pkcs8 -in platform.pk8 -inform DER -outform PEM -out platform.pem -nocrypt

  3. 执行下面命令,然后随便输入一个密码比如:123456,生成 platform.pk12文件
    openssl pkcs12 -export -in platform.x509.pem -inkey platform.pem -out platform.pk12 -name dev
    //回车后,输入密码:123456
    //再次输入确认密码:123456

  4. 执行下面命令,生成keystore文件
    //keytool -importkeystore -deststorepass 上面输入的密码 -destkeystore platform.jks -srckeystore platform.pk12 -srcstoretype PKCS12 -srcstorepass 上面输入的密码
    keytool -importkeystore -deststorepass 123456 -destkeystore platform.jks -srckeystore platform.pk12 -srcstoretype PKCS12 -srcstorepass 123456

  5. 查看签名信息
    keytool -list -v -keystore platform.jks
    //回车后,输入密码:123456

  6. 在Android项目中使用
    将platform.jks拷贝到项目模块的build.gradle同级目录下,然后在build.gradle中添加如下:

    signingConfigs {
        config {
            storeFile file("platform.jks")
            storePassword '123456'
            keyAlias 'dev'
            keyPassword '123456'
        }
    }
    
    buildTypes {
        debug {
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.config
        }
    }
    

注意:

    发现一个问题,使用系统签名之后,native代码没方法debug了,没方法附加native进程,提示no such process
    网上查了说使用了系统签名之后调试器出问题没方法和我们native进程通信可能是权限问题,java代码能正常调试,暂时找不到解决方法,
    错误提示:Unsupported device. This device cannot be debugged using the native debugger. See log file for detail
posted @ 2024-07-19 11:03  yongfengnice  阅读(91)  评论(0编辑  收藏  举报