美文网首页
Android系统定制APP开发_如何对应用进行系统签名

Android系统定制APP开发_如何对应用进行系统签名

作者: 龙之叶 | 来源:发表于2023-02-15 21:41 被阅读0次

    前言

    当项目开发需要使用系统级别权限或frame层某些api时,普通应用是无法使用的,需要在AndroidManifest中配置sharedUserId:
    AndroidManifest.xml中的android:sharedUserId="android.uid.system",代表的意思是和系统相同的uid,可以拥有修改系统时间,文件操作等权限。


    1.制作Android Studio可以使用的jks文件

    1.1 下载keytool-importkeypair
    链接: https://download.csdn.net/download/u010345983/87453083

    1.2 将keytool-importkeypair文件拷贝到platform签名所在目录
    Android原生的签名会区分user和userdebug,配置目录分别如下:
    (1)user的签名配置在:build\target\product\security\release
    (2)userdebug的签名配置在:build\target\product\security



    签名文件在Android源码的位置如下

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

    其中,.pk8文件为私钥,.x509.pem文件为公钥

    1.3 执行命令生成jks文件

    ./keytool-importkeypair -k longzhiye.jks -p pwd123 -pk8 platform.pk8 -cert platform.x509.pem -alias longzhiye
    

    -k:生成的jks密钥文件
    -p:密码
    -alias:密钥别名

    2.将上述生成的jks文件填到AndroidStudio的build.gradle文件中

    在工程主模块的 \app\build.gradle文件中添加 signingConfigs 签名配置信息

    android {
    
        defaultConfig {
            ...
        }
    
        signingConfigs {
            release {
                storeFile file("./longzhiye.jks")
                keyAlias 'longzhiye'
                keyPassword 'pwd123'
                storePassword 'pwd123'
                v2SigningEnabled true
            }
            debug {
                storeFile file("./longzhiye.jks")
                keyAlias 'longzhiye'
                keyPassword 'pwd123'
                storePassword 'pwd123'
                v2SigningEnabled true
            }
        }
    
        buildTypes {
            ...
        }
    
    }
    

    构建脚本配置完成后,使用Android Studio执行指定的构建时,就会按照我们写好的脚本信息生成对应签名的apk。

    3.密钥安全性

    为了保障密钥的安全, 不建议将密钥文件上传至代码管理平台,也不建议将密钥文件的别名、密码直接以明文的方式写到build.gradle中。

    相关文章

      网友评论

          本文标题:Android系统定制APP开发_如何对应用进行系统签名

          本文链接:https://www.haomeiwen.com/subject/abqukdtx.html