apk 签名问题
来源:互联网 发布:得力指纹考勤软件 编辑:程序博客网 时间:2024/05/20 08:42
http://www.xuebuyuan.com/1719200.html
eclipse编译出来的apk,安装时报出INSTALL_FAILED_SHARED_USER_INCOMPATIBLE的错误。
原因:apk的AndroidManifest.xml中声明了android:sharedUserId="android.uid.system",但没有相应的签名
解决方案:
1. 找到编译目标系统时的签名证书platform.pk8和platform.x509.pem,在android源码目录build\target\product\security下。
没有那两个证书的话,就别指望用system用户了,赶紧地把android:sharedUserId="android.uid.system"声明删掉,不过删掉之后有些动作可能就没权限执行了。
2. 将签名工具(signapk.jar)、签名证书(platform.pk8和platform.x509.pem)及编译出来的apk文件都放到同一目录
3.执行签名命令:
java -jar signapk.jar platform.x509.pem platform.pk8 Demo.apk signedDemo.apk
4.将signedDemo.apk安装即可
类似地,在android源码树编译也会存在同样的问题,解决方法类似。
或直接把目标系统的签名证书platform.pk8和platform.x509.pem(根据android.mk文件的LOCAL_CERTIFICATE 定义,也可能是shared.pk8、media.pk8等)覆盖到build\target\product\security也可,这样就不需要再手工签名了。
用Android自带的signapk.jar签名应用程序
先找到相应的签名文件,文件位置:可以在......\android_project\build\target\product\security中找到media.pk8、media.x509.pem、platform.pk8、platform.x509.pem、shared.pk8、shared.x509.pem、testkey.pk8、testkey.x509.pem等签名文件,对应不同的权限。
自带的签名工具signapk.jar:由......\android_project\out/host\linux-x86\framework/中找到。
然后放到一个文件夹中,签名命令(一定要使用相应的权限,权限可在menufest和mk文件--LOCAL_CERTIFICATE中相应找到):
java -jar signapk.jar platform.x509.pem platform.pk8 MyDemo.apk MyDemo_signed.apk 得到具有对应权限的APK
- apk签名问题
- apk 签名问题
- android apk签名问题
- APK签名问题
- Android apk 签名测试问题
- 关于Android apk签名问题
- Android apk包签名问题
- APK签名的一些问题
- 给空白apk签名问题
- robotium测试apk包修改签名问题
- apk反编译后重签名问题
- 关于APK版本更新的签名问题
- jarsigner签名apk无法安装问题
- apk重新签名打包,安装失败问题
- 打包签名APK时遇到的问题
- 关于系统内置apk签名问题。
- android apk的签名和权限问题
- 签名apk
- Codeforces Round #305 (Div. 1)C. Mike and Foam 数学
- FASTDFS的STORAGE SERVER的状态问题
- Spring事务异常回滚,捕获异常不抛出就不会回滚
- UIGestureRecognizer 手势操作 iOS
- Xcode 编译链接问题汇总(持续更新中....)
- apk 签名问题
- 深入理解拉格朗日乘子法(Lagrange Multiplier) 和KKT条件
- ios获取设备信息总结
- Hibernate搭建教程
- Nagios 安装与配置
- oscache 页面级缓存实例
- 网络游戏服务器构架设计
- 双11异地双活实时数据同步基础设施DRC
- 阿里云 webservice发布