安装APK:Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]

Android签名 (四) 实践 | INSTALL_PARSE_FAILED_NO_CERTIFICATES 最近在安装一个apk时出现下面的报错:安装环境:应用目标版本:android:targetSdkVersion="30"系统平台版本:Android 12(API级别32) 阅读详情

签名Apk后,安装出现如下错误:Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]

google、百度后发现,JDK8 签名时需要加上如下两个参数:

-digestalg SHA1 -sigalg MD5withRSA

完整签名命令如下:

jarsigner  -keystore myKey.keystore -storepass hapk_123  -signedjar MyTest.apk MyTest-unsigned.apk myKey.keystore -digestalg SHA1 -sigalg MD5withRSA -tsa http://timestamp.digicert.com

如果不设置tsa参数,会有如下警告:

警告: 
未提供 -tsa 或 -tsacert, 此 jar 没有时间戳。如果没有时间戳, 则在签名者证书的到期日期 (2070-05-29) 或以后的任何撤销日期之后, 用户可能无法验证此 jar。
*******************


将Java环境变量切换到jdk6后,不设置digestalg、sigalg、tsa3个参数, 一切都OK,执行的命令如下:

jarsigner  -keystore myKey.keystore -storepass hapk_123  -signedjar MyTest.apk MyTest-unsigned.apk myKey.keystore


PS:有些帖子自提高,自jdk7就会有如上jdk8出现的问题,未亲测。


PS2,附录jarsigner各参数的解析。

$jarsigner -h
用法:jarsigner [选项] jar 文件别名(key的别名)
       jarsigner -verify [选项] jar 文件
[-keystore <url>]           密钥库位置

[-storepass <口令>]         用于密钥库完整性的口令
[-storetype <类型>]         密钥库类型
[-keypass <口令>]           专用密钥的口令(如果不同)
[-sigfile <文件>]           .SF/.DSA 文件的名称
[-signedjar <文件>]         已签名的 JAR 文件的名称
[-digestalg <算法>]    摘要算法的名称
[-sigalg <算法>]       签名算法的名称
[-verify]                   验证已签名的 JAR 文件
[-verbose]                  签名/验证时输出详细信息
[-certs]                    输出详细信息和验证时显示证书
[-tsa <url>]                时间戳机构的位置
[-tsacert <别名>]           时间戳机构的公共密钥证书
[-altsigner <类>]           替代的签名机制的类名
[-altsignerpath <路径列表>] 替代的签名机制的位置
[-internalsf]               在签名块内包含 .SF 文件
[-sectionsonly]             不计算整个清单的散列
[-protected]                密钥库已保护验证路径
[-providerName <名称>]      提供者名称
[-providerClass <类>        加密服务提供者的名称
  [-providerArg <参数>]] ... 主类文件和构造函数参数

【AGC】应用安装报错没有证书怎么办 查找相关文档发现是因为Android11系统在V1签名的应用存在兼容问题,如果应用只使用V1签名,并且编译时设置的targetSdkVersion=30,是会出现这个问题的。分析复现:找了一个手机安装正常,没有问题。修改使用V2或者V3签名应用,或者临时修改targetSdkVersion。问题偶现,难以复现,最终通过收集用户设备信息,发现保障用户。欲了解更多更全技术文章,欢迎访问。 阅读详情

相关推荐

Android报错「INSTALL_PARSE_FAILED_NO_CERTIFICATES」:APK签名失效与重签名工具的实践

在Android应用开发中,INSTALL_PARSE_FAILED_NO_CERTIFICATES错误通常是由于APK文件缺少有效签名证书导致的。本文详细分析了该错误的常见触发场景,如修改APK后未重新签名、证书过期或无效、签名方案不兼容以及文件损坏等,并提供了多种解决方案。开发者可以通过Android Studio、命令行工具(如jarsigner和apksigner)或第三方工具(如APK Signer)对APK进行重新签名。此外,文章还介绍了如何生成签名密钥、配置签名信息以及验证签名,并推荐了适合不

shejizuopin的博客 2390

【Appium踩坑】Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES: Failed to collect certificates

解决方法 1、手机设置开启未知来源 2、 设备重连成功后,再跑脚本试一下 adb kill-server adb devices 详细报错信息 Stderr: 'Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES: Failed to collect certificates from /data/app/vmdl2032509516.tmp/base.apk: META-INF/CERT.SF has invalid digest for javax/

青禾tester 1万+

查看android系统日志,INSTALL_FAILED_INVALID_APK 解决,安装apk,NO_CERTIFICATES

对程序做了进一步开发之后,发现无法安装到手机上,错误代码:installation failed with message failed to finalize session:INSTALL_FAILED_INVALID_APK,具体如下图所示: 在Android Studio上,点击File\Settings\Build,Execution,Deployment\Debugger\Insta...

ZhangJiqun&191cm&85kg 4284

关于APK在相关服务器加固后,无法install报错,加固后签名被刷,ADB重新签名的方法,加固后通过zipalign对被压缩后的so库进行对其

关于APK在相关服务器加固后,无法install报错,加固后签名被刷,ADB重新签名的方法,加固后通过zipalign对被压缩后的so库进行对其

qq_55805329的博客 4281

LTspice元器件库导入与路径管理:符号、模型、子电路全解析

在电子电路仿真中,元器件库通常由符号、模型和子电路三层构成:符号定义引脚外观,模型描述电气行为,子电路封装多端子网络。理解三者职责边界,是解决 LTspice 元器件库导入报错的关键。许多导入失败并非软件问题,而是文件类型错配、路径引用不清或引脚顺序不一致。掌握 `.include` 指令、用户库搜索路径和自制符号绑定模型,可以提升第三方模型复用效率,降低跨项目迁移成本。该思路适用于运放、MOS 管、二极管等器件建模,尤其在 UA741 等经典运放导入场景中,需要先核对 `.subckt` 引脚顺序,再选择

weixin_29182481的博客 179

MATLAB新手必看:Stewart平台运动学逆解从入门到实战(附完整代码)

本文详细介绍了如何使用MATLAB实现Stewart平台的运动学逆解,从基础原理到完整代码实现,涵盖并联机器人的数学建模、MATLAB编程和Simulink集成。通过实战案例和可视化分析,帮助新手快速掌握Stewart平台的运动学逆解技术,适用于机器人学和控制理论领域的研究与应用。

dream的博客 551

安装apk失败的解决方法:Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]

3050 KB/s (124917 bytes in 0.039s)     pkg: /data/local/tmp/Development.apk Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES] -----&gt; 解决方法:把build.prop 中的ro.config.issm2valid=1改成ro.config.issm2valid=0 然...

1万+

UM2 3D 打印机 DIY 实践 (2) 电路篇

涉及到的东西非常多,实际上后面还会讲到。主要部件清单: 主板 mega2560 + Ramps1.4 + LCD12864 各一张 42 x38mm x3,xyz 轴各一台 42 x23mm x1,用在挤出机 泰坦远程挤出机 x1 TMC2225 驱动板 x4, 替代a4988、TMC2208,静音效果好,性价比高 s-250-12v 20A开关电源 x1。功率必须足够大,宁可选大一点的 大功率 MOS 管,25A x1 NTC .

afeiqiang的专栏 3600

Android 安装apk 失败: Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES: Package /data/app/vmdl1638616

打包正式apk,进行安装, 提示如下错误 Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES: Package /data/app/vmd1638616.tmp/base.apk has no certificates at entry AndroidManifest.xml] 解决方案: 将 build 目录下文件全部删除,重新打包apk 再次尝试安装,安装成功。 ...

Devil不加V 6825

数字IC后端设计实现OCC(On-chip Clock Controller)电路介绍及时钟树综合案例

数字IC后端设计实现OCC(On-chip Clock Controller)电路介绍及时钟树综合案例

weixin_37584728的博客 4733

AB脉冲详解(编码器,PLC,上位机)

编码器线有些是用不到的。Z脉冲:360度中,只有1度是输出,输出能力是。编码器实际就是发光二极管,所以电流超过20ma会缩短寿命或损坏。

cfqq1989的博客 1万+

APK签名问题

问题描述 签名时提示:jarsigner: 无法打开 jar 文件 安装时提示:Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES] 解决方案1删除 APK 文件内 META-INF 文件夹下面的 CERT.RSA、CERT.SF、MANIFEST.MF 三个文件后重新签名解决方案2命令行进入 Android SDK Build Tool 目录,注意:选择一个

續寫經典 1732

SVDD和OCSVM的比较

OCSVM(one class support vector machine)即单类支持向量机,最先提出的文献为:Estimating the support of a high-dimensional distribution.该模型 将数据样本通过核函数映射到高维特征空间,使其具有更良好的聚集性,在特征空间中求解一个最优超平面实现目标数据与坐标原点的最大分离,如图1: 坐标原...

qq_33880788的博客 1万+

Android Studio3.0打包APK安装到手机报Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]

出现这个报错的原因是Android Studio3.0升级了打包签名的方式,不说其他的直接上解决方案: 1.首先点击Android Studio 中的Build中的Generate Signed bundle/apk,进入选择签名页面,如果已有签名直接从本地选择,如果没有create新建一个,然后Next执行下去; 2.打包完成将app-debug.apk跟签名文件(我这里是fsdg.jks)...

fuzhongbin的博客 857

《AgentScope-Java 深入浅出教程》第10章 RAG 知识检索

RAG(Retrieval-Augmented Generation,检索增强生成)是一种将信息检索与文本生成相结合的技术架构。它通过从外部知识库中检索相关文档,将检索到的信息作为上下文注入到语言模型的提示中,从而增强模型的回答质量。│ RAG 工作流程 ││ ││ 用户问题 向量检索 上下文增强 生成回答 ││ ▼ ││ │ A │ ││ ││ 1. 接收问题 ││ 2. 将问题转换为向量,在知识库中检索相似文档 ││ 3. 将检索到的文档作为上下文添加到提示词中 │。

步子哥的博客 460

21、汽车喷漆目标区域识别:机器学习与深度学习的应用

本文探讨了机器学习与深度学习在汽车喷漆目标区域识别中的应用,重点利用卷积神经网络(CNN)提高喷漆效率并减少油漆浪费。通过构建和预处理包含多种汽车类型的数据集,采用ResNet-18、ResNet-50和MobileNet-v2等模型进行训练与评估,结果表明ResNet-50在准确率和鲁棒性方面表现最佳。研究还分析了数据裁剪、标签处理、网络架构差异以及光照和遮挡对识别效果的影响,并提出了系统实现流程。最后,文章展望了多传感器融合、模型优化和场景适应性等未来研究方向,为智能化喷漆工艺提供了技术参考。

5b6n7m8的博客 101

Android 7.0 安装包修改后无法安装

Android 7.0 安装包修改后无法安装

贵公子丶笔记 2415

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

INSTALL_PARSE_FAILED_NO_CERTIFICATES 问题

INSTALL_PARSE_FAILED_NO_CERTIFICATES 问题 背景是我们自己搞了一套打渠道包的规则,最近更新到Gradle4.0.1之后,打包成功之后,在Android P的手机上安装出现问题,报错是: adb: failed to install Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES: Failed to collect certificates from /data/app/vmdl957487087.tmp/base.apk u

yeshen.org 6440

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

ADB安装,签名问题,Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]

这个问题,到现在还没有在网上看见答案,经过一段时间的摸索,查阅官方资料,被我发现了原因. 工作环境: androidstudio2.3 jdk1.8 问题描述: 打包签名,生成app.apk文件,在安装app.apk时,总是安装不成功,提示如下: d:/app.apk: 1 file pushed. 41...B/s (2423010 bytes in 0.056s) WARNING

wc369646的博客 3万+

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

apk安装时出现"Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]"的错误

这两天升级ubuntu把东西都搞乱了 在android模拟器里面安装文件管理器Astro的apk时,老是安装失败 提示: "Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]"   试了好多次都不行 后来想想是不是过期了神马的原因 就从91上下了份最新的Astro的apk(之前失败时都装的是去年下的一个版本) 新的apk一装就Success了

白果果白的专栏 8660

Android生成签名文件并用其对apk文件进行签名(Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]错误完美解决

原文地址::https://blog.youkuaiyun.com/aeolus1019/article/details/8121031 最近编程时遇到问题:写了一个android小程序,打包后用apktool反编译再打包都没问题,安装时出现Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]错误,网上查资料原来是签名的问题,解决方案如下。 《一》使用命令行生成签名文件 (1)创建一个用来存放签名文件的文件夹Android_keystore (2)在命令行窗口中输入..

xqhrs232的专栏 1230

Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES

通过android studio工具栏的Build -> Build Bundle(s)/APK(s) ->Build APK(s)得到一个app-release-unsigned.apk,安装此apk会报下面截图错误 按照提示是由于apk中没有签名文件,解压并比较该apk和正常可安装apk可以看出确实缺少CERT.RSA以及CERT.SF文件。 签名文件可以在java的bi...

努力的八戒 1万+

[已解决]Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE]/Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE]

今天在使用Android Studio 将应用打包,然后使用adb install 命令进行安装的时候, 报过如下的三个错误: Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE] Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE] Failure [INSTALL_PARSE_FAILED_

Kodulf的专栏 4782

INSTALL PARSE FAILED INCONSISTENT CERTIFICATES错误解决方法

INSTALL PARSE FAILED INCONSISTENT CERTIFICATES错误解决方法

qq_44939836的博客 950

adb安装apk,报错 Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]

生成测试版的apk的时候,直接选择build--&gt; build APK(s),但是生成的apk, 用adb安装的时候,安装失败了,错误如下: Error:Execution failed for task ':app:transformClassesAndResourcesWithProguardForRelease'. &gt; Job failed, see logs for de...

hpp_1225的博客 3025

androidstudio签名打包之后apk安装不上,adb报错Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]的原因及解决方法

在开发过程中会碰到这样的一个错误:明显apk是签了名之后打包也成功了,签名打包过程中没有任何问题,但是apk包在安装到真机上时,却安装不上,报错信息为Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES],翻译过来就是说没有证书,也就是没有签名的apk包。原因:这个是Androidsutdio在版本2.3及以上才会出现的问题,其实在实质上签名打包都没有问题。解...

Always_MyHomeTown的博客 4844
上一篇: Shell脚本——批量安装Apk
下一篇: makefile&Android mk文件中打印log
程序员长弓
博客等级 码龄20年 650粉丝 183原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值