咱们在使用Android Studio开发完应用程序后,都要将打好的apk安装包上传到各大应用市场,可是有时候上传时应用市场会出现提交的安装包不能经过应用市场的aapt解析而被打回的状况。android
他们使用aapt解析咱们的apk文件的过程当中会报错,出现相似于小程序
getting 'android:xxx' attribute: attribute is not a string value编码
这种错误,xxx多是Label,也多是name。这是什么缘由呢?xml
出现这种错误的大部分缘由是,咱们在声明Label或者name的时候使用的@string来进行字符串的引用,可是在aapt.exe这个Google官方的解析小程序中,@string这种引用有时候是不能被识别的。开发
若是再AndroidManifest.xml文件中的属性声明后使用了@string这种引用,在使用aapt.exe解析安装文件时就会报错,若是应用市场解析你的apk文件时报错,它就不能得到你apk彻底的信息,就不会容许你上传新的apk安装包。字符串
这种状况怎么解决呢,建议的也是大多数人的解决方法是将清单文件中的@string引用所有换成引用的自己的字符串,就能够解决这个问题。也有些博文中(国内或者国外的)说能够将AndroidManifest.xml文件中的全部@stringget
都以硬编码的方式写在文件里,其实没有必要这么作,由于只要aapt不报这个错误,就证实你的清单文件是能够被解析识别的。string
以后我会将每个碰见的这种问题都记录下来,以避免下回再碰到的时候忘记。io