兄弟们,我在安卓 4.4上运行带兼容API的函数会崩溃,为什么

#Page# 2018-12-15 05:17:00
当前编译的sdk版本是27,手上有2个安卓机:4.4和8.0的。
自己新建了一个类,public class EasyBle extends Observable {
然后用老api在安卓4.4的真机上跑没问题。
把5.0以后的API加上去后,我还没调用呢,创建这个类的单实例时就崩溃了,提示:
Unable to find class....
但是在安卓8.0上就没事。
如下图:

这是什么情况???
...全文
1137 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
借楼求助一下:有块广告机开发板子全志A20的方案,视美泰IOT-20A,最近升级系统后,似乎音频逻辑有点问题,如下:此板MIC和耳机孔是分开的,当MIC插入时,内置喇叭会静音(不知道是停止输出还是静音),耳机孔可以输出音频,但MIC始终不能拾音录音,在没升级系统前可以拾音录音,但很小声且有内部杂音,由此推断应该是配置文件设置了,有没有大神帮我指点一下系统文件里在哪里可以改回来?无论是耳机还是保持外放的同时(就是input和output不关联),mic可以录音,顺便调一下mic放大。谢谢各位大神们。我是一个对安卓系统一知半解的小白,暂时没有那么多分数可给。
王能 2018-12-17
  • 打赏
  • 举报
回复
举例修改一下,没注意检查 if(Build.VERSION.SDK_INT<16){ Callback1 c1=new Callback1(){ ... }; xxx.setC1(c1); }else if (Build.VERSION.SDK_INT<21){ Callback2 c2=new Callback2(){ ... }; xxx.setC2(c2); }else { Callback3 c3=new Callback3(){ ... }; xxx.setC3(c3); }
王能 2018-12-17
  • 打赏
  • 举报
回复
首先,小白请不要模仿使用@TargetApi这个注解,有错就解决错误 4.4都没这个类当然在初始化的时候就挂掉了,你必须在代码中动态判断,举例如下: @Override protecte void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); if(Build.VERSION.SDK_INT<16){ Callback1 c1=new Callback1(){ ... }; xxx.setC1(c1); }else if (Build.VERSION.SDK_INT<21){ Callback1 c2=new Callback1(){ ... }; xxx.setC2(c2); }else { Callback1 c3=new Callback1(){ ... }; xxx.setC3(c3); } }
jklwan 2018-12-17
  • 打赏
  • 举报
回复
额,你这是变量定义,在方法初始化是会立即初始化变量的,加上那个注解没啥用的。 最好定义方法,在使用的时候调用,例如

private Callback getV4(){
return ……;
}

private Callback getV5(){
return ……;
}

if(5.0以上版本){
使用getV5
}else {
使用getV4
}
#Page# 2018-12-17
  • 打赏
  • 举报
回复
https://blog.csdn.net/liao5214/article/details/76222997
将 multiDexEnabled 设置为 true
这些不好使,因为我有别人写的另一个app没有搞这个选项。
#Page# 2018-12-17
  • 打赏
  • 举报
回复
高人指点下。。。
A Hc 2018-12-17
  • 打赏
  • 举报
回复
有点难。。。。。

80,359

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧