接触Android Studio以来碰到的问题

自从接触AS以来,不断的掉坑,在使用AS的过程中,很多问题解决的不是一帆风顺,都要卡克很久,所以在此记录一下之前遇到的“难题”,以后方便查阅。
一:Android 5.0以下出现java.lang.NoClassDefFoundError:
  就是代码也没错误,但是一run就报错,当时测试的虚拟机是Android4.4.4的,很不幸运的是我找了几个测试机都是Android5.0一下的,包括模拟器。折腾了半天,装到自己的6.0手机上发现又没问题,才意识到因为系统版本不同会报错,最后测试只要是5.0一下就报错。闲扯了好多~~~~

解决方法:
1. 在主项目Gradle中配置`

    dependencies
      {
       // 添加依赖
          compile 'com.android.support:multidex:1.0.0'
       }

2.使用自定义的Application继承MultiDexApplication,当然你不想大改自己的Application的话,也可以采取以下方法:重写Application中的voidattachBaseContext()方法

 @Override

protected voidattachBaseContext(Context base) 
{

super.attachBaseContext(base);

MultiDex.install(base);

}

然后继续 Build —-> ReBuild Project 即可,到这已经搞定了这个问题啦!

二:UNEXPECTED TOP-LEVEL ERROR: …………. finished with non-zero exit value 3
项目工程中添加了几个module后就签名打包到是可以正常工作,但是一run就error,也是搜了好久没解决掉,最后以 “finished with non-zero exit value 3 ”为关键词在stackoverflow上找到了答案。下面就是错误事例:

UNEXPECTED TOP-LEVEL ERROR:
Error:Execution failed for task ':DLNA_DMC:transformClassesWithDexForDebug'.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0_73\bin\java.exe'' finished with non-zero exit value 3

解决方法:在主工程build.gradle文件中添加几句代码OK,代码如下:

android 
{
......
    dexOptions 
    {
        incremental true
        javaMaxHeapSize "4g"
    }
......
}

三:”Java.util.zip.ZipException: duplicate entry”,看到这个关键字毫不犹豫的知道是有冲突,但是哪里有冲突还是需要好好排查的,我的问题是引入的module和主工程中的都有v4包,毫不犹豫删除一个,但是问题接着还是有,具体问题事例代码如下:

Error:Execution failed for task ':app:transformClassesWithJarMergingForBaiduDebug'.
> com.Android.build.api.transform.TransformException: Java.util.zip.ZipException: duplicate entry: android/support/v4/internal/view/SupportSubMenu.class

解决方法:在build.gradle文件中添加即可:

allprojects
 {
    configurations 
    {
        all*.exclude group: 'com.android.support', module: 'support-v4'
    }
}

当然还有一个类似的问题:

Error:Execution failed for task ':app:transformClassesWithJarMergingForBaiduDebug'.
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: android/support/annotation/ColorRes.class

解决方法和上面一个问题略有不同,当然它俩是可以合并的:

allprojects 
{
    configurations 
    {
        all*.exclude group: 'com.android.support', module: 'support-annotations'
    }
}

到目前为止碰到的这几个问题,对于一个AS新手来说还是有点挑战的,不过还好,大神很多,他们不仅帮到了我,在此记录一下,希望帮到更多的人。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值