Android 开发 常见错误

Android开发中总会遇到很多问题,在此整理一下,遇到新问题会随时更新,方便查询,如有问题,多多交流!

方法数超过65536个

  描述:工程中,包括引用的library的方法数超过65536个出现;
    图一:此时方法超出不多,显示当前最大方法索引65998;
    图二:此时方法超出太多,只显示出错,不显示方法索引;两种情况需要多加注意!!!
      这里写图片描述
      这里写图片描述

  解决方案:
   方法一:
    1、IDEA中选择File –> Setting勾选force jumboo mode 然后rebuild,此方法只能解决方法超出不多的情况,如图一。
    这里写图片描述

   方法二:
    1、使用Android Studio,在Gradle中使用分包:multidex
     a)添加依赖jar:compile ‘com.android.support:multidex:1.0.0’
     b)在每个module中的build.gradle中的defaultConfig{}中添加: multiDexEnabled true
     c)在自定义的Application中添加:
      @Override
      protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
        MultiDex.install(this);
      }
     d)没有自定义Application的话,那么你在AndroidManifest.xml中的application标签中修改android:name=”android.support.multidex.MultiDexApplication”

   方法三:
    1、使用JNI,用更大的buffer去替换Dalvik VM中的buffer

  参考链接:
    http://m.blog.csdn.net/blog/ddaitest/21020511
    http://developer.android.com/tools/building/multidex.html


INSTALL_FAILED_UID_CHANGED

  问题手机: MI4
  描述:卸载应用之后再安装出现问题
      这里写图片描述
  原因:软件卸载不完全,导致无法安装

  解决方案:
   方法一:
    1、删除如下目录下与app相关的文件(需要root):/data/app/, /system/app/ , /data/data/
    2、重启手机
   方法二(待测):
    1、打开系统设置–>安全–>未知来源,先取消,再重新选中,然后重启设备,就可以了 。
   方法三:
    1、恢复出厂设置!!!!大招!!!!

  参考链接:
    http://blog.csdn.net/enhancing/article/details/8490473
    http://blog.sina.com.cn/s/blog_6261f8690101h6hm.html
    http://zhidao.baidu.com/link?url=J0f9Jz67NHLQkc2ptu29Yb5Ti-EowLIl5nH1XDG-B8lMSeCOIvZLOo-XqWQK59KP0Tod2xLwsN4F_uRvjELiRSi5sZqhPxxvRecUXA5ia3e
    http://www.tuicool.com/articles/BJvIr2N


java: -source 1.3中不支持泛型

  描述:卸载应用之后再安装出现问题
      这里写图片描述
  原因: ,编译过程出错,jdk版本不正确

  解决方案:
    修改Language level即可,改成 1.5即可,推荐6 - @Override in interfaces 或者更高
      这里写图片描述


INSTALL_FAILED_UPDATE_INCOMPATIBLE

  问题手机: 三星 SM-G9200
  描述:应用安装失败:更新矛盾;
      这里写图片描述

  原因一:之前应用卸载不完全

  解决方案:
   方法一:
    1、删除如下目录下与app相关的文件(需要root):/data/app/, /system/app/ , /data/data/
    2、重启手机
   方法二(待测):
    1、在命令行中输入:adb uninstall package-name
   方法三:
    1、恢复出厂设置!!!!大招!!!!

  原因二:在其他用户下安装了该应用
  解决方案:
   方法:
    将手机切换到其他用户,删除对应应用即可

  参考链接:
    http://www.360doc.com/content/12/0401/10/3700464_199872997.shtml
    http://blog.csdn.net/philofly/article/details/8090210
    http://blog.csdn.net/aa4790139/article/details/6577634
    http://momo330.iteye.com/blog/845421
    http://www.tuicool.com/articles/BJvIr2N


ArrayIndexOutOfBoundsException: -1 StackMapFrame

  开发环境: IDEA + JDK1.7 + Android SDK 17
  描述: Android编译错误,Error:java:Internal compiler error:java.lang.ArrayIndexOutOfBoundsException: -1 at org.eclipse.jdt.internal.compiler.codegen.StackMapFrame.addStackItem(StackMapFrame.java:92)
      这里写图片描述

  原因:工程使用Eclipse方式进行编译导致

  解决方案:
   方法一:
    1、在IDEA中选择File –> Setting,在下图选择javac,然后rebuild
    这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值