解决Android应用签名和系统不一致的问题

2024-08-29 07:58

本文主要是介绍解决Android应用签名和系统不一致的问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

今天碰到一个签名的问题,我负责的应用安装时,会报错:

安装命令:
adb install -r ApeFolio.apk

报错信息:

Failed to install ApeFolio.apk: Failure [INSTALL_FAILED_SHARED_USER_INCOMPATIBLE: 
Package couldn't be installed in /data/app/com.ape.leather2-1: Package 
com.ape.leather2 has no signatures that match those in shared user 
android.uid.system; ignoring!]

看了报错信息就明白了,是系统的签名还没改过来,解决方法很简单,和系统的一致就可以。

但是蛋疼的是,你现在不知道手机系统的签名是什么,最快的办法当然问同事。但是我这里想说的是另一个笨方法—自己去试源码的签名文件,看那个签名最后能安装apk。


1. 签名文件的路径

首先要找到系统签名文件的路径,路径的一般在:

/build/target/product/security

你会发现里面有很多很多的签名,我们先把他们复制到桌面的project_name文件夹里面(可以任意命名),待会要用。

2. 制作签名的脚本

你需要一个签名的脚本,待会比较方便,只用双击执行就可以了,脚本的内容如下:

# 获取当前达到的包,应为安装命名规范来,所以最新的达到的包是在最后面
for apkFile in `ls -d ~/Projects/ApeFolio/apps/ApeFolio/app/build/outputs/apk/ApeFolio*`;
do
echo $apkFile
donejava -jar signapk.jar ./project_name/security/platform.x509.pem ./project_name/security/platform.pk8 ${apkFile} ApeFolio.apk

第一行的路径是我应用的路径,你可以根据你自己的实际情况,换成你自己的。重点是最后一行,其中signapk.jar会待会签名要用到的,我会共享给你们。./project_name/security/platform.x509.pem ./project_name/security/platform.pk8这两个文件都是成对出现的,你可以一对一对的试验,试出正确的那个签名。

最后应该是这样的:

3.生成apk
双击project_name.sh后,会在该目录生成ApeFolio.apk:

4.安装
安装该apk,如果成功,就说找到了正确的签名,如果失败,继续换下一个

signapk.jar下载地址:http://download.csdn.net/detail/u013122625/9671463

这篇关于解决Android应用签名和系统不一致的问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1117293

相关文章

IDEA和GIT关于文件中LF和CRLF问题及解决

《IDEA和GIT关于文件中LF和CRLF问题及解决》文章总结:因IDEA默认使用CRLF换行符导致Shell脚本在Linux运行报错,需在编辑器和Git中统一为LF,通过调整Git的core.aut... 目录问题描述问题思考解决过程总结问题描述项目软件安装shell脚本上git仓库管理,但拉取后,上l

解决docker目录内存不足扩容处理方案

《解决docker目录内存不足扩容处理方案》文章介绍了Docker存储目录迁移方法:因系统盘空间不足,需将Docker数据迁移到更大磁盘(如/home/docker),通过修改daemon.json配... 目录1、查看服务器所有磁盘的使用情况2、查看docker镜像和容器存储目录的空间大小3、停止dock

idea npm install很慢问题及解决(nodejs)

《ideanpminstall很慢问题及解决(nodejs)》npm安装速度慢可通过配置国内镜像源(如淘宝)、清理缓存及切换工具解决,建议设置全局镜像(npmconfigsetregistryht... 目录idea npm install很慢(nodejs)配置国内镜像源清理缓存总结idea npm in

pycharm跑python项目易出错的问题总结

《pycharm跑python项目易出错的问题总结》:本文主要介绍pycharm跑python项目易出错问题的相关资料,当你在PyCharm中运行Python程序时遇到报错,可以按照以下步骤进行排... 1. 一定不要在pycharm终端里面创建环境安装别人的项目子模块等,有可能出现的问题就是你不报错都安装

idea突然报错Malformed \uxxxx encoding问题及解决

《idea突然报错Malformeduxxxxencoding问题及解决》Maven项目在切换Git分支时报错,提示project元素为描述符根元素,解决方法:删除Maven仓库中的resolv... 目www.chinasem.cn录问题解决方式总结问题idea 上的 maven China编程项目突然报错,是

在Ubuntu上打不开GitHub的完整解决方法

《在Ubuntu上打不开GitHub的完整解决方法》当你满心欢喜打开Ubuntu准备推送代码时,突然发现终端里的gitpush卡成狗,浏览器里的GitHub页面直接变成Whoathere!警告页面... 目录一、那些年我们遇到的"红色惊叹号"二、三大症状快速诊断症状1:浏览器直接无法访问症状2:终端操作异常

linux系统中java的cacerts的优先级详解

《linux系统中java的cacerts的优先级详解》文章讲解了Java信任库(cacerts)的优先级与管理方式,指出JDK自带的cacerts默认优先级更高,系统级cacerts需手动同步或显式... 目录Java 默认使用哪个?如何检查当前使用的信任库?简要了解Java的信任库总结了解 Java 信

mybatis直接执行完整sql及踩坑解决

《mybatis直接执行完整sql及踩坑解决》MyBatis可通过select标签执行动态SQL,DQL用ListLinkedHashMap接收结果,DML用int处理,注意防御SQL注入,优先使用#... 目录myBATiFBNZQs直接执行完整sql及踩坑select语句采用count、insert、u

Python爬虫HTTPS使用requests,httpx,aiohttp实战中的证书异步等问题

《Python爬虫HTTPS使用requests,httpx,aiohttp实战中的证书异步等问题》在爬虫工程里,“HTTPS”是绕不开的话题,HTTPS为传输加密提供保护,同时也给爬虫带来证书校验、... 目录一、核心问题与优先级检查(先问三件事)二、基础示例:requests 与证书处理三、高并发选型:

利用Python操作Word文档页码的实际应用

《利用Python操作Word文档页码的实际应用》在撰写长篇文档时,经常需要将文档分成多个节,每个节都需要单独的页码,下面:本文主要介绍利用Python操作Word文档页码的相关资料,文中通过代码... 目录需求:文档详情:要求:该程序的功能是:总结需求:一次性处理24个文档的页码。文档详情:1、每个