当前位置: 首页 > news >正文

android 11 app 系统签名

一、环境

  • 需要有 android11 的源码
  • android11 的编译环境

二、签名文件 platform.jks 文件生成

  • 签名工具下载
    # keytool-importkeypair
    https://github.com/getfatday/keytool-importkeypair/tree/master
    
  • 密钥文件准备:platform.pk8 platform.x509.pem
    # 在 android11 源码的以下目录可以找到 platform.pk8 platform.x509.pem 文件
    build/make/target/product/security/
    
  • 执行签名操作,当前目录需要有 keytool-importkeypair 工具,以及 platform.pk8 platform.x509.pem 密钥文件
    ## 需要先有 Android11 的编译环境
    # 先在 Android11 的源码中执行 source build/envsetup.sh
    # 然后执行 lunch 选择单板## 执行以下命令生成 platform.jks 密钥库文件
    ./keytool-importkeypair -k platform.jks -p 123456 -pk8 platform.pk8 -cert platform.x509.pem -alias platform
    # -k platform.jks 生成的 Java KeyStore 文件名
    # -p 123456 设置该密钥库的访问密码(Store Password 和 Key Password)
    # -pk8 platform.pk8 指定你要转换的系统私钥文件
    # -cert platform.x509.pem 指定对应的系统公钥证书文件
    # -alias platform 为这个密钥在 JKS 文件中起一个名字,后续在 IDE 中配置时需要用到
    

三、platform.jks 文件使用

  • 在 AndroidManifest.xml 文件中添加声明,我使用的声明如下:
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:sharedUserId="android.uid.system">
    
  • 在 build.gradle.kts 中声明并使用系统签名,demo 如下:
    android {namespace = "com.example.demo"compileSdk = 36 // 注意:这里通常直接写数字// 1. 定义签名配置signingConfigs {create("release") {storeFile = file("../platform.jks") // 假设文件放在项目根目录(app目录的上一级)storePassword = "123456"keyAlias = "platform"keyPassword = "123456"}// 通常建议 debug 也用系统签名,方便开发调试getByName("debug") {storeFile = file("../platform.jks")storePassword = "123456"keyAlias = "platform"keyPassword = "123456"}}defaultConfig {applicationId = "com.example.demo"minSdk = 30targetSdk = 36versionCode = 1versionName = "1.0"testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"}buildTypes {release {isMinifyEnabled = false// 2. 在 release 版本中使用上面定义的签名signingConfig = signingConfigs.getByName("release")proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"),"proguard-rules.pro")}debug {// 3. 在 debug 版本中也使用系统签名signingConfig = signingConfigs.getByName("debug")}}compileOptions {sourceCompatibility = JavaVersion.VERSION_11targetCompatibility = JavaVersion.VERSION_11}
    }
    
  • 直接安装后使用 ps -A | grep 包名 查看是否已经是 system 权限运行;
http://www.jsqmd.com/news/345313/

相关文章:

  • 2026年高性价比地质研学景点推荐,国内备受关注的打卡地不要错过 - myqiye
  • 强烈安利! 专科生专属AI论文平台 千笔·专业论文写作工具 VS 万方智搜AI
  • 英国供应链求职咨询榜单:供应链咨询TOP10指南 - 技研备忘录
  • windows 检查whl(pyd)缺失文件
  • 【图像计数】不规则颗粒粒径周长面积测量及计数系统【含GUI Matlab源码 B7Z026期】
  • 2026年上海罗普斯金系统门窗定制供应商口碑排名,选哪家 - mypinpai
  • 2026年昆明靠谱的别墅全案设计公司,你选对了吗 - 工业设备
  • 沈阳专业的烘焙培训有哪些 涵盖线上营销教学服务创业人群 - 工业品牌热点
  • 紧急!2026亚马逊卖家必看:靠绿标躺赢,不用砸广告也能爆单
  • 2026年海外GEO优化推广服务商/公司/机构排行榜--深圳昊客网络 数字技术 引领榜单 - 深圳昊客网络
  • 探寻有实力的芯动中古名品,许昌口碑好的奢侈品商家哪家更靠谱 - 工业推荐榜
  • 导师推荐8个降AI率平台,千笔·降AIGC助手帮你解决论文AI检测难题
  • 关于Moltbook社区的一些思索
  • 实用指南:OceanBase数据库SQL调优
  • 2026年知名餐饮展十大推荐,资质齐全的餐饮展示会服务多地企业 - 工业设备
  • 2026年评价高的印花密胺餐具/商用密胺餐具厂家采购参考指南(必看) - 行业平台推荐
  • 25.Android系统源码-LZ4 实战 - 超快压缩算法核心技术
  • 一天一个Python库: platformdirs - 跨平台获取用户目录的利器
  • 聊聊罗普斯金系统门窗定制靠谱吗?哪家性价比高? - 工业推荐榜
  • 18650圆柱锂电池comsol5.6模型 参数已配置,电化学生热研究,三种放电倍率,参数化扫描
  • 2026年热门的换热器翅片管/耐高温翅片管厂家热卖产品推荐(近期) - 行业平台推荐
  • 好用的卫生间防水漏水灌缝专用胶选购指南,高性价比产品揭秘 - mypinpai
  • 成像技术发展史总结
  • 2026年防水补漏企业价格大揭秘,实力强的防水补漏机构费用分析 - mypinpai
  • 26牛客寒假算法训练营1题解
  • 24.Android系统源码-libpng 实战 - PNG无损压缩核心技术
  • .NET 8 和 .NET 6 性能对比的测试 - 实践
  • 智能制造MES系统如何实现SPC控制图到富文本编辑器的动态绑定?
  • 2025人体红外感应模块选购指南与传感器应用方案解析
  • 从数据成功到人工智能成功:极简人工智能治理