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