apk与android系统签名
系统签名是让客户做的系统app可以正常在我们系统上运行,你的app要写成系统app,再系统签名才有意义。
说明:固件中app需要在源码中编译,而不使用IDE编译,然后copy到/system/app/*目录,是因为app需要使用系统的权限,在AndroidManifest.xml中申明了系统权限
android:sharedUserId="android.uid.system"。
1、单独签名解决方案,文件放置在同一个文件夹signapk目录下
在Android源码目录build/target/product/security/,找到平台签名文件:platform.pk8和platform.x509.pem。
在Android根目录android/prebuilts/sdk/tools/lib找到签名工具:signapk.jar。
把签名证书“platform.pk8 ”“platform.x509.pem ”,签名工具“signapk.jar ”放置在同一个文件夹signapk;
执行命令:java -jar signapk.jar platform.x509.pem platform.pk8 Demo.apk signedDemo.apk // Demo.apk代表签名前apk,signedDemo.apk代表签名后apk
如果出现报错:
zwei@ubt144c:/work/zwei/czd/3399_qianming/security$ java -jar signapk.jar platform.x509.pem platform.pk8 BDService_17082811.apk BDService_17082811_sign.apk
Exception in thread "main" java.lang.UnsatisfiedLinkError: no conscrypt_openjdk_jni in java.library.pathat java.lang.ClassLoader.loadLibrary(ClassLoader.java:1857)at java.lang.Runtime.loadLibrary0(Runtime.java:870)at java.lang.System.loadLibrary(System.java:1119)at org.conscrypt.NativeCryptoJni.init(NativeCryptoJni.java:25)at org.conscrypt.NativeCrypto.<clinit>(NativeCrypto.java:54)at org.conscrypt.OpenSSLBIOInputStream.<init>(OpenSSLBIOInputStream.java:34)at org.conscrypt.OpenSSLX509Certificate.fromX509PemInputStream(OpenSSLX509Certificate.java:119)at org.conscrypt.OpenSSLX509CertificateFactory$1.fromX509PemInputStream(OpenSSLX509CertificateFactory.java:220)at org.conscrypt.OpenSSLX509CertificateFactory$1.fromX509PemInputStream(OpenSSLX509CertificateFactory.java:216)at org.conscrypt.OpenSSLX509CertificateFactory$Parser.generateItem(OpenSSLX509CertificateFactory.java:94)at org.conscrypt.OpenSSLX509CertificateFactory.engineGenerateCertificate(OpenSSLX509CertificateFactory.java:272)at java.security.cert.CertificateFactory.generateCertificate(CertificateFactory.java:339)at com.android.signapk.SignApk.readPublicKey(SignApk.java:182)at com.android.signapk.SignApk.main(SignApk.java:1087)
则找到 libconscrypt_openjdk_jni库:prebuilts/sdk/tools/linux/lib64/libconscrypt_openjdk_jni.so
把它拷贝到文件夹signapk目录下,然后执行以下语句:
java -Djava.library.path=. -jar signapk.jar platform.x509.pem platform.pk8 BDService_17082811.apk BDService_17082811_sign.apk
2、直接在Android SDK编译环境签名方案
直接在Ubuntu编译环境执行(input.apk表示签名前apk,output.apk表示签名后apk)
java -jar out/host/linux-x86/framework/signapk.jar -w build/target/product/security/platform.x509.pem build/target/product/security/platform.pk8 device/rockchip/rk3399/preinstall/input.apk device/rockchip/rk3399/preinstall/output.apk
apk与android系统签名相关推荐
- Android编译系统apk并进行系统签名安装
前言 最近接到一条需求,需要调用WifiP2pManager.setWfdInfo方法进行投屏接收端功能开发,但查看此方法,发现是系统级别api,通过反射也无法调用,所以想到能否通过设置app为系统级 ...
- Android系统签名jks文件
Android Studio普通应用->系统应用 在android framework开发过程中,通常使用系统应用在验证某些功能,(系统功能权限大,可以通过反射获取hide接口,便于功能调试). ...
- android系统签名app自动更新,【Android 进阶】Apk 使用系统签名
刚入职的时候,固件中 app 需要在源码中编译,不是很理解,为什么不使用 IDE 编译,然后 copy 到 /system/app/*,咨询导师,得到反馈 app 需要使用系统的权限 在 Androi ...
- Android系统签名简介
apk的签名,简单说开发者可以通过签名 对应用进行标识和更新.包名在一个设备上是唯一的,这样可以避免被相同包名应用随意覆盖安装.这是一个非常重要的安全功能. 系统中的签名文件,也是对系统中应用进行签名 ...
- Android系统签名生成Studio导入系统keystore
一.Android签名文件简述 为什么要签名? 任何一个安装包都需要有签名.为App签名的本质是说明这个App是我开发的,不是别人.通过签名可以在应用和开发者之间建立可信任的关联. 通过签名,Andr ...
- android 签名报错,Android系统签名报错 no conscrypt_openjdk_jni in java.library.path
1.Android 7.1之前,系统签名如下: java -jar signapk.jar platform.x509.pem platform.pk8 source.apk target.apk 2 ...
- android系统签名
1.在系统源码下找到signapk.jar platform.x509.pem platform.pk8三个文件,一般在build或prebuilt目录下 2.在AndroidManifest.xml ...
- Android系统签名生成,在AndroidStudio中使用
1.首先找到以下文件 build/target/product/security/platform.pk8 build/target/product/security/platform.x509.pe ...
- 如何实现在 Android Studio 上开发系统应用(自带系统签名)
基于Android 系统应用包名和路径的局限性,很多同僚不得不暂时放弃 Android Studio,而无奈地选择在已经停止更新的eclipse上进行系统级应用的开发,作者也是遇到了这种情况,于是探索 ...
- android 使用系统签名实现静默安装
文章目录 一.准备工作 二.使用步骤 1.生成keystore文件 2.将keystore转换为jks 3.引入android studio 三.使用pm安装 1.安装方法 2.注册广播,安装成功后自 ...
最新文章
- 谈谈Boost网络编程(2)—— 新系统的设计
- LOAM_velodyne学习(三)
- diy直立双足机器人_Aelos Pro 机器人:让编程变得更有趣
- 事件查看器 无法完成应用程序上的操作,接口未知
- 面向对象的tab选项卡实现
- 让应用通过苹果审核出人头地的10个方法
- Python的下载安装图文教程(超详细!!!)
- 学汽车故障计算机排除怎么样,汽车故障清除后就没事了么?
- Binutils - c++filt工具
- 微信公众号活动策划方案怎么写?看完你也可以直接套用
- 网络流专题班例题和练习
- 人工智能的伦理和价值观——阿西洛马人工智能原则(Asilomar AI Principles )
- 开源在今天意味着什么?
- 4×30m钢筋混凝土简支T梁桥结构设计与计算
- 当谈到携程机票产品经理的数据意识,我们在谈什么?
- 开始学习Pascal语言
- ruby 对象转换哈希(Hash)
- SAR ADC系列2:DFT离散傅里叶变换
- 基于python的简单异或脚本
- TX Text Control for wpf 31 Crack