通过修改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( //从函数的字面看是获取没有设置的字符串,这里没有继续深入跟踪下去,有兴趣可以继续跟踪一下