aapt命令执行出错ERROR dump failed because no AndroidManifest.xml found!

aapt命令执行出错ERROR dump failed because no AndroidManifest.xml found!

问题描述

目前,在360应用市场上上线app前,一般都要求对软件进行加固,我们直接进行在线加固:
aapt命令执行出错ERROR dump failed because no AndroidManifest.xml found!
加固完成后:
aapt命令执行出错ERROR dump failed because no AndroidManifest.xml found!
软件在线加固完成后,需要重新对软件进行签名,但是博主一般通过项目导出apk进行签名,对apk重新签名还是第一次,参考网上的相关签名方法进行签名后,出现了这样的问题:
aapt命令执行出错ERROR dump failed because no AndroidManifest.xml found!

原因分析

对于打印系信息进行分析,发现是找不到androidmanifest.xml这个文件,这主要是没有正确签名以及jdk版本问题导致的。

第一种解决方案

博主选用的对app进行重新签名的博文是这篇:对apk应用进行重新签名

分析报错,发现是找不到androidmanifest.xml这个文件,那么也就是说可能是因为签名完成后重新打包的文件不对。最后发现,我们一定要选中要压缩的文件,然后压缩成.zip 文件,zip文件必须是根目录,即打开zip文件,就能看见压缩的文件内容。
如下图:

aapt命令执行出错ERROR dump failed because no AndroidManifest.xml found!
点开后:

aapt命令执行出错ERROR dump failed because no AndroidManifest.xml found!
打包后:

aapt命令执行出错ERROR dump failed because no AndroidManifest.xml found!

第二种解决方案

如果以上方法没有能解决问题的话,可以使用官方推荐的360加固保进行紧固以及重新签名。
360加固宝下载
首先进行软件加固:

aapt命令执行出错ERROR dump failed because no AndroidManifest.xml found!
加固完成后进行签名:

aapt命令执行出错ERROR dump failed because no AndroidManifest.xml found!
设置签名:

aapt命令执行出错ERROR dump failed because no AndroidManifest.xml found!
开始签名:

aapt命令执行出错ERROR dump failed because no AndroidManifest.xml found!
签名成功后,再次上传,就不会再有需要加固或者aapt的相关报错了:

aapt命令执行出错ERROR dump failed because no AndroidManifest.xml found!

总结

重新签名的方式有两种:手动签名或者加固保,手动签名重新打包时需要注意文件的位置。