FROM:https://www.jianshu.com/p/a68ca97e7c08

 

 

1.在AndroidManifest中添加

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中使用

    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'        }    }

 


作者:changchengfeng
链接:https://www.jianshu.com/p/a68ca97e7c08
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 

 

 

 

 

更多相关文章

  1. android打开系统相机分别获得原图和缩略图
  2. android中检测网络是否断开
  3. 常用到的Android命令(持续更新)
  4. android之 h5调用系统相机和相册并显示
  5. Android实现手写签名
  6. 安卓修改屏幕超时后,系统不进入休眠的方法。
  7. Error generating final archive: Debug certificate expired on
  8. Android:LaunchMode使用场景
  9. Android(安卓)启动过程详解

随机推荐

  1. Bitmap转为文件保存
  2. android个推消息推送,asp.net调用接口
  3. Android(安卓)Contacts的使用(二)
  4. SimpleDraweeView 动态设置宽高
  5. Android(安卓)生成缩略图
  6. Porting snappy/libspicec.so onto Andro
  7. mtk android settings
  8. android.graphics.Rect类的详解
  9. Android(安卓)Studio 1.31 preview bug
  10. unity3d for android平台游戏列表【转】