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'
       }
   }
相关推荐
介一安全11 分钟前
【Frida Android】实战篇1:环境准备
android·网络安全·逆向·frida
许愿OvO37 分钟前
MySQL触发器
android·mysql·adb
循环不息优化不止1 小时前
Jetpack Compose 从重组到副作用的全方位解析
android
2501_916007472 小时前
iOS文件管理工具深度剖析,从系统沙盒到跨平台文件操作的多工具协同实践
android·macos·ios·小程序·uni-app·cocoa·iphone
Android疑难杂症3 小时前
鸿蒙Notification Kit通知服务开发快速指南
android·前端·harmonyos
lcanfly3 小时前
Mysql作业5
android·数据库·mysql
进阶的小叮当4 小时前
Vue代码打包成apk?Cordova帮你解决!
android·前端·javascript
-指短琴长-5 小时前
MySQL快速入门——基本查询(上)
android·数据库·mysql
下位子6 小时前
『OpenGL学习滤镜相机』- Day6: EGL 与 GLSurfaceView 深入理解
android·opengl
java干货6 小时前
MySQL “灵异事件”:我 INSERT id=11,为什么被 UPDATE id=10 锁住了?
android·数据库·mysql