zoukankan      html  css  js  c++  java
  • BUG Review:关于getting 'android:xxx' attribute: attribute is not a string value的问题及解决方法

    我们在使用Android Studio开发完应用程序后,都要将打好的apk安装包上传到各大应用市场,但是有时候上传时应用市场会出现提交的安装包不能通过应用市场的aapt解析而被打回的情况。

    他们使用aapt解析我们的apk文件的过程中会报错,出现类似于

    getting 'android:xxx' attribute: attribute is not a string value

    这种错误,xxx可能是Label,也可能是name。这是什么原因呢?

    出现这种错误的大部分原因是,我们在声明Label或者name的时候使用的@string来进行字符串的引用,但是在aapt.exe这个Google官方的解析小程序中,@string这种引用有时候是不能被识别的。

    如果再AndroidManifest.xml文件中的属性声明后使用了@string这种引用,在使用aapt.exe解析安装文件时就会报错,如果应用市场解析你的apk文件时报错,它就不能获得你apk完全的信息,就不会允许你上传新的apk安装包。

    这种情况怎么解决呢,建议的也是大多数人的解决方法是将清单文件中的@string引用全部换成引用的本身的字符串,就可以解决这个问题。也有些博文中(国内或者国外的)说可以将AndroidManifest.xml文件中的所有@string

    都以硬编码的方式写在文件里,其实没有必要这么做,因为只要aapt不报这个错误,就证明你的清单文件是可以被解析识别的。

    之后我会将每一个遇见的这种问题都记录下来,以免下回再碰到的时候忘记。

  • 相关阅读:
    web网页测试用例(非常实用)
    怎么做web接口测试
    我的周记13——”离开,是为了更好的回来"
    Lambda 表达式常用函数
    IEnumberable<T>接口
    Linq的学习
    未能加载文件或程序集“Newtonsoft.Json”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。
    拉姆达表达式的笔记
    注册今日头条
    爬取百思不得姐的段子
  • 原文地址:https://www.cnblogs.com/zzcc/p/5784519.html
Copyright © 2011-2022 走看看