美文网首页
Android 奇葩问题报错

Android 奇葩问题报错

作者: 小强开学前 | 来源:发表于2019-11-07 14:16 被阅读0次

    1. e: Supertypes of the following classes cannot be resolved. Please make sure you have the required dependencies in the classpath:

    答:如果引入第三方库时,不引入其自身的依赖会报错 (简书sharryChoo)

    2. Circular dependency between the following tasks

    答:module之间出现了循环引用,是不是写了两个implementation projectxxx

    3. Unknown animator name: color

    答:android:foreground="?attr/selectableItemBackground"属性写到了statelistanimator里面

    4. # [Binary XML file line #2: Error inflating class <unknown>]

    答:是因为我写了foreground属性,而这个属性在v23及以上才有效,导致一直找不到layout文件报错。

    5. recyclerview中adapter的onBind方法写了checkbox的点击事件响应方法,但初始化时也会调用这个方法,也就是checked = t/f会有相应的listener响应。

    答:监听事件中用xxx.isPressed()判断用户是否点击了这个按钮。radioButton同理。

    6. radiobutton 设置button属性为selector文件不会自动缩放图像大小。

    答:ImageView无论设置src还是background都会自动缩放图片,但是scaletype只会对src生效,radiobutton,准确的说是compoundButton这类的view设置button都不会生效,暂时没时间看源码,只能设置button为@null然后将它的background指定为这个xml文件解决。

    7. kotlin不能像Java一样import某个包或者类下面的所有类或者变量,也就是import *

    答:如果没有冲突的话可以,如果某个变量名或者方法名与当前存在的冲突,则确实不能,只能一个个import。

    8. Companion object is not allowed here.

    答:不能写在内部类。

    9. 外部调用不了类中的伴生对象的方法。

    答:导包一定要正确,我的是因为类名为SpinnerAdapter,刚好自动导了Android.widget.SpinnerAdapter,无语。

    10. 能发现设备,AS编译却卡在calculate task graph,然后提示连不上设备。

    答:原因是设置里配置了proxy,设置了IP和端口,但是没有开小飞机。但是devices都attached了,你提示这个???傻逼Google。解决方法:发个帖子记录下,骂一句,顺便打开小飞机。

    11. Spinner两级联动,进入页面发生崩溃。

    答:发现Spinner初始化会默认选中第一个并且调用Item的点击事件,这个傻逼Google。解决方法:发个帖子记录下,骂一句,顺便删了Spinner,然后github找轮子。

    12. Spannable设置两个属性,只显示前面一个

    答:重用了对象,每次都new setSpan传入的对象,就没问题,但是另外一个地方重用却没问题,唉,垃圾Android。

    13.TextView spannable 设置ClickableSpan导致内存泄漏[参考自CSDN lidongxiu0714

    14. e: org.jetbrains.kotlin.codegen.CompilationException: Back-end (JVM) Internal error: wrong bytecode generated

    原因是代码写到一半写别的逻辑去了... 比如说:

    valid_coupon_score.visibility = GONE
              valid_coupon_score
              arrow_score.visibility = GONE
    

    中间忘记写了 ,以后遇到问题可以使用./gradlew build --info打印出详细信息

    15. Binary XML file line #2: Binary XML file line #2: Error inflating class.Failed to resolve attribute at index 35: TypedValue{t=0x2/d=0x7f04024c a=-1}

    答: 一设置background或者foregrounnd为?attr/selectedItemBackground就会这样,原因是传入的context为application的context,这不是扯淡?换成acitivity就ok了。

    16. java.lang.IllegalArgumentException: Parameter specified as non-null is null: method h.a0.d.m.b, parameter msg1

    Toast方法居然报null,关键debug的时候没问题,release有问题,而release开了混淆
    - 可能网络请求的时候json解析器没有将“”也就是空字符串给到resultBean的变量?
    给resultBean的string变量赋初值==》无效。

    • 这个方法不能混淆?
      给toast方法加上@Keep注解。==>无效
    • 不是混淆的问题??
      取消混淆 ==》成功
    • 混淆语句写得有问题?
      是的,bean类不能被混淆,之前写的时候写的是-keep class com.x.x.*,后来发现如果想保持我bean包下面的所有bean类不被混淆,应该使用-keep class com.x.x.** { *;},,看东西还是要细致,不能想当然...
      除了bean不能被混淆其余都可以

    17. IndexOutOfBoundsException: setSpan (-1 ... -1) starts before 0

    为了实现UI的需求,用了ClickableSpan并且为了防止内存泄漏继承了NoCopySpan这个类,但谷歌工程师在这之中少考虑了一个东西,由此引发崩溃,并且是致命性的崩溃。

    榴莲&&山竹老师总结得非常好。

    1、常见的可能是下标计算有误,导致start和end负值;
    2、网上有人说开启无障碍模式的TalkBack功能,如果start==end也会,已证实;
    3、还有一种本人遇到的,实现ClickableSpan时为了解决内存泄漏问题,按照网上的方法实现了NoCopySpan。部分机型可能不支持NoCopySpan的实现,导致异常报错,去除后恢复正常。

    18. Fatal signal 11 (SIGSEGV), code 1, fault addr 0x632e7864696f9a

    是native报错,无从下手,还好程序够简单,发现是没有camera.save()就调用了camera.restore()导致的。

    相关文章

      网友评论

          本文标题:Android 奇葩问题报错

          本文链接:https://www.haomeiwen.com/subject/shylectx.html