我是靠谱客的博主 阔达毛衣,最近开发中收集的这篇文章主要介绍那些年在Android之路上踩过的坑,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

解决这些坑的过程就不说了,说出来也都是泪,直接上干货。

INSTALL_FAILED_DUPLICATE_PERMISSION
adb安装apk时报错。2个apk有一个或多个相同的自定义权限,但是签名不一致,因而无法正常安装。并不是什么防止相互唤醒之类的,这是Android L的新规则。

获取IMEI为空does not meet the requirements to access device identifiers.
telephonyManager.getImei();
自 Android 10(API 级别 29)起,您的应用必须是设备或个人资料所有者应用,具有特殊运营商许可,或具有 READ_PRIVILEGED_PHONE_STATE 特权,才能访问不可重置的设备标识符。

WebView加载Https无法显示的问题
当load有ssl层的https页面时,如果这个网站的安全证书在Android无法得到认证,WebView就会变成一个空白页,而并不会像PC浏览器中那样跳出一个风险提示框。因此,我们必须针对这种情况进行处理。
解决:

wv.setWebViewClient(new WebViewClient(){
      
   
   public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error){
      
   
   //handler.cancel(); 默认的处理方式,WebView变成空白页   
   
    //handler.proceed();接受证书   
    view.reload();
   //handleMessage(Message msg); 其他处理   
   
}

吐司不显示
对于原生吐司来说,小米、oppo通知权限关闭后吐司仍正常,华为不行,这可以说是安卓系统的一个bug,但小米、oppo系统定制时修复了这个bug,而华为没有,但华为默认打开通知权限。对于第三方库封装的吐司库或工具,容易造成在新上市的手机无法显示吐司,如oppo手机。
解决:尽量使用原生直接吐司。

Expiring Daemon because JVM heap space is exhausted
jvm 默认可分配的堆内存不够
解决方案:
在 gradle.properties 文件中添加
org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=512m

阿里云oss在android10及以上上传图片无回调
Android10增加了分区存储特性
解决:升级oss库依赖版本到2.9.5,并在sdk>28时调用uri参数的接口。

Program type already present: com.umeng.umzid.Spy
项目中存在2个jar包中包含相同名称的类文件。
解决:在libs目录中和AS中项目的外部库列表中查找,一般是不同版本的jar包同时存在导致的,按需要删除一个即可。

SourceSet with name ‘test’ not found.
在AS项目中运行java的main函数报错。
解决:打开项目/.idea/gradle.xml文件ÿ

最后

以上就是阔达毛衣为你收集整理的那些年在Android之路上踩过的坑的全部内容,希望文章能够帮你解决那些年在Android之路上踩过的坑所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部