通过修改AndroidManifest.xml中的provider选项下的attribute字段下的字符串没有翻译,请直接替换成相关字符串然后重新打包成apk,就OK了;
比如将 :
<provider android:authorities="@string/YOURSTRING" />,可以去string.xml中找到YOURSTRING真正的字符串值
改成
<provider android:authorities="com.YOURPATH-HERE.provider" />
原因分析:打包时apktool有时候可能没有将string替换成真实值,可以从下面的代码中看出来
frameworks\base\core\java\android\content\pm\PackageParser.java中 cpname为Null时才会报上述错误,而使用cpname是在下面的语句
String cpname = sa.getNonConfigurationString( //从函数的字面看是获取没有设置的字符串,这里没有继续深入跟踪下去,有兴趣可以继续跟踪一下
本文介绍了如何通过修改AndroidManifest.xml中的provider选项下的attribute字段,解决APK打包时出现的问题。具体操作包括在string.xml中找到并替换相关字符串,避免apktool打包时出现错误。
1463

被折叠的 条评论
为什么被折叠?



