Android App系统签名

1.在AndroidManifest中添加

XML 复制代码
android:sharedUserId="android.uid.system"

2.获取系统签名

把以下所有文件放入同一个文件夹命名为sign

在Android系统源码中的\build\target\product\security目录下找到platform.x509.pem 和 platform.pk8两个文件;

在out/host/Linux-x86/framework目录下找到signapk.jar文件

找到 libconscrypt_openjdk_jni库

若是mac系统拷贝

prebuilts/sdk/tools/darwin/lib64/libconscrypt_openjdk_jni.dylib

若是Linux系统拷贝

prebuilts/sdk/tools/linux/lib64/libconscrypt_openjdk_jni.so

需要进行系统签名的app.apk

PS:有的系统在android源代码里是编译产生的,

在out/host/linux-x86/lib/ 或者 out/host/linux-x86/lib64/目录下面

3.进入sign目录执行以下命令即可完成签名即可

java -Djava.library.path=. -jar signapk.jar platform.x509.pem platform.pk8 app.apk app_sign.apk

以上即可完成普通app获得系统权限

若是需要在Android Studio使用要完成以下步骤

4.通过platform.x509.pem platform.pk8 生成签名keystore,可在github上下载脚本

https://github.com/getfatday/keytool-importkeypair

放入platform.x509.pem platform.pk8所在目录

执行以下命令

./keytool-importkeypair -k ~/.android/debug.keystore -p android -pk8 platform.pk8 -cert platform.x509.pem -alias platform

5.在Android studio中使用

bash 复制代码
signingConfigs {
       sginconfig {
           keyAlias 'platform'
           keyPassword 'android'
           storeFile file('/Users/macbook/.android/debug.keystore')
           storePassword 'android'
       }
   }
   buildTypes {
       release {
           signingConfig signingConfigs.sginconfig
           minifyEnabled false
           proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
       }
       debug {
           signingConfig signingConfigs.sginconfig
           minifyEnabled false
           proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
       }
   }
相关推荐
_李小白5 小时前
【android opencv学习笔记】Day 26: 滤波算法之低通滤波与图像缩放插值
android·opencv·学习
NiceCloud喜云6 小时前
Claude Code Routines 实战:三种触发器跑通云端自动化编码
android·运维·数据库·人工智能·自动化·json·飞书
我命由我123459 小时前
Bugly - Bugly 基本使用( App 质量追踪平台)
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
weiggle9 小时前
第二篇:搭建你的第一个 Compose 项目——开发环境与项目结构
android·前端
阿巴斯甜10 小时前
为什么 AIDL 接口客户端、服务端要写两份一模一样的?
android
weiggle10 小时前
第一篇:Jetpack Compose 宣言——为什么 Android 开发需要声明式 UI
android
城管不管12 小时前
什么是Prompt?
android·java·数据库·语言模型·llm·prompt
weiggle12 小时前
Jetpack Compose 重组机制与性能优化深度剖析
android
●VON13 小时前
鸿蒙Flutter实战:24小时新建标签提示组件
android·flutter·华为·harmonyos·鸿蒙