分享一个解决Android 兼容性问题的python方法
在前几天的开发中,遇到这么个非常奇葩的异常,有些手机可以运行,有些手机却直接就崩了,今天就把这异常整理下。
首先还是贴上其异常信息
E/AndroidRuntime: FATAL EXCEPTION: main android.view.InflateException: Binary XML file line #13: Error inflating class <unknown> at android.view.LayoutInflater.createView(LayoutInflater.java:613) at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56) at android.view.LayoutInflater.onCreateView(LayoutInflater.java:660) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:685) at android.view.LayoutInflater.rInflate(LayoutInflater.java:746) at android.view.LayoutInflater.parseInclude(LayoutInflater.java:830) at android.view.LayoutInflater.rInflate(LayoutInflater.java:736) at android.view.LayoutInflater.rInflate(LayoutInflater.java:749) at android.view.LayoutInflater.inflate(LayoutInflater.java:489) at android.view.LayoutInflater.inflate(LayoutInflater.java:396) at com.hy.taotao.utils.GlobalUtils.inflate(GlobalUtils.java:91) at com.hy.taotao.base.BaseFragment.onCreateView(BaseFragment.java:59) ... Caused by: java.lang.reflect.InvocationTargetException at java.lang.reflect.Constructor.constructNative(Native Method) at java.lang.reflect.Constructor.newInstance(Constructor.java:417) at android.view.LayoutInflater.createView(LayoutInflater.java:587) at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)? ... Caused by: java.lang.UnsupportedOperationException: Can't convert to dimension: type=0x1 at android.content.res.TypedArray.getDimensionPixelSize(TypedArray.java:468) at android.widget.TextView.<init>(TextView.java:944) at android.widget.TextView.<init>(TextView.java:605) at java.lang.reflect.Constructor.constructNative(Native Method)? at java.lang.reflect.Constructor.newInstance(Constructor.java:417)? at android.view.LayoutInflater.createView(LayoutInflater.java:587)? ...
上面我将主要的异常信息整理了出来,首先可以看看这一句,我们可以从上面得到的信息是 “xml文件13行导致的错误,原因是dimension文件找不到 type=0x1的元素”,后来同事在网上查了N多资料说的是values里面少了默认值,后面终于找到了缺少的默认值…
1.首先看看报错之前的文件夹截图,可以看到在一部分values-v19的文件,在values上都看不到,而values-v19文件夹是Api19的设备使用该目录下的文件夹,当设备找不到对应的名为values-*的文件夹,就会去找默认的values文件夹下的文件,那么找不到的话,就发生了上面的异常了。
2.那么知道了问题所在,就得解决了
1)将values-***全部备份后删掉。
2)将备份后的values-***里的文件添加到默认的values文件夹。
3.其实在上述2中这种方式一般是不推荐的,如果手机屏幕适配的话,当然不能只保留values这个默认的文件夹,但是切记在其他values-*文件夹的元素,在默认的values文件夹都必须得有。
4.下面是简单处理之后的截图
总结:
1.在做第三方集成等等情况的时候,切记:在其他values-*文件夹的元素,在默认的values文件夹都必须得有。
【相关推荐】
1. 特别推荐:“php程序员工具箱”V0.1版本下载
2. Python免费视频教程
以上就是分享一个解决Android 兼容性问题的python方法的详细内容,更多请关注其它相关文章!
上一篇: javascript下使用Promise封装FileReader_javascript技巧
下一篇: Laravel 关联模型由于名称一致性导致的问题 laravel 视频教程 thinkphp php laravel
推荐阅读
-
debugger Optimizer与Debugger兼容性问题的解决方法
-
Optimizer与Debugger兼容性问题的解决方法_PHP
-
Vue中android4.4不兼容问题的解决方法
-
Android微信分享大图遇到的问题的解决方法
-
Android Activity切换(跳转)时出现黑屏的解决方法 分享
-
在python3中pyqt5和mayavi不兼容问题的解决方法
-
Vue中android4.4不兼容问题的解决方法
-
Android Activity切换(跳转)时出现黑屏的解决方法 分享
-
分享Python切分字符串的一个不错方法
-
win8系统安装冒险岛不兼容且提示“此程序存在已知兼容性问题”的解决方法