一.dexDebug ExecException finished with non-zero exit value 2
需要在gradle中配置下面的代码,原因是引用了多个libraries文件
defaultConfig {
multiDexEnabled true
}
event log中报:IllegalArgumentException:Multiple entries with same key: Google Inc.:Google APIs:23=Google APIs (Google Inc.) (API 23) and Google Inc.:Google APIs:23=Google APIs (Google Inc.) (API 23)
解决办法:先看一下系统配置的SDK的位置和Android Studio所用的路径是否一致,如果不一致重新配置系统的SDK路径或者是重新修改Android Studio的SDK路径
通过SDK Manager删除掉google API23
如果解决不了,卸载android studio -->重新安装 ,还有问题点击File --> Invalidate Cashes/Restart --> Invalidate and Restart,解决不了继续通过SDK Manager删除掉google API23
类型推断是一个特殊的烦恼,下面的代码:
Map<String, List<String>> anagrams = new HashMap<String, List<String>>();
通过类型推断后变成:
Map<String, List<String>> anagrams = new HashMap<>();
这个<>被叫做diamond(钻石)运算符,这个运算符从引用的声明中推断类型。
二、Android Studio 怎么设置JDK和SDK的路径
刚刚把开发环境换成android studio,还不熟悉,想把jdk和sdk的路径换了,找了半天,才发现是这样的:点击File,选择Other Settings,选择Default Project
Structure...,就可以看到JDK和SDK的设置地方了。供你参考吧。
三、Possible causes:<ul><li>The project ‘XXXXXXX' may be using a version of Gradle that does not contain the method.
原文错误提示:
Error:(16, 0) Gradle DSL method not found: 'Android()'
错误原因:
android studio 引进项目时,自动查找本机是否有项目设置的SDK版本,若发现没有,我们会在project structure修改成自己的SDK。然而,修改后,AS会自动在项目下的build.gradle里添加上以下代码:
解决办法:
删除以上图片中红框中的代码,然后再执行build->Rebuild project,删除完之后的代码如下:
四.Execution failed for task ':app:transformClassesWithJarMergingForDebug'.
去掉本工程中gradle中用于引用有冲突的包的代码或者将冲突的代码从jar包或aar包中移除,确保一个module中只引用了一份相同的第三方包
.project sturcture和Project Structure 无论是按快捷键或者是从files中打开都不显示
五.错误: -source 1.6 中不支持 diamond 运算符 (请使用 -source 7 或更高版本以启用 diamond 运算符)
Error:(71, 35) 错误: -source 1.6 中不支持 diamond 运算符(请使用 -source 7 或更高版本以启用 diamond 运算符)
这个错误对应程序里的代码是:
一般正确的写法是在声明的时候指定类型,也就是:
List<PublicBlogListBean> _hotDatas = new ArrayList<PublicBlogListBean>();
但是在JDK 1.7里新增了一个新特性:
增强对通用实例创建(diamond)的类型推断 :
也就是说JDK1.7支持这种类型推断后,在声明_hotDatas 时new ArrayList<>里可以不需要加上PublicBlogListBean类型
截图中的错误也提示了:-soure1.6中不支持diamond运算符,Diamond types are not supported at this language level。说明目前使用的JDK版本不支持,但是Project此时的JDK路径正是1.7的版本,这...
事实上项目里还没有对module做源码兼容性的配置,即设置 Source Compatibility和Target Compatibility为1.7:
点击ok会后gradle重新构建,确定reload Project下就好啦~
也可以在build.gradle里直接配置:
查找的相关资源:
jdk1.7新特性
AndroidGradlePlugin指南(六)高级构建定制
六、failed to find target with hash string 'android-23'
in: /Users/user/file/android/android-sdk-macosx。Error:A problem occurred configuring project ':app'.
更新23API,建议直接用androidsudio,根据建议更新。
七、注: /Users/user/Downloads/GuideView-master/guideview/src/main/java/com/blog/www/guideview/Guide.java使用或覆盖了已过时的 API。
解决方案:同错误五
八、Error:Execution failed for task ':app:mergeDebugResources'.
> /Users/user/Downloads/GuideView-master/app/src/main/res/assets/review.gif:1:1: Error: 前言中不允许有内容。解决方案:
http://stackoverflow.com/questions/18302603/where-to-place-assets-folder-in-android-studio 这里很好的解释了该问题。将assets目录移到src/main/ 目录下即可。
九、com.android.build.api.transform.TransformException:
java.util.zip.ZipException: duplicate entry: android/support/v4/app/BackStackState$1.class
原因:在所添加的jar包或aar包中也引用了support-V4,与工程中引用的相冲突
Ctrl+N --> 在搜索框中输入BackStackState --> 查找到所有引用该类的类,这些类即为引起冲突的类
一般情况就是检查build.gradle内dependencies依赖的内容。
十、clipse转android studio项目点9图片检查问题
补充:eclipse转android studio项目点9图片检查问题:在build.gradle里添加以下两句:aaptOptions.cruncherEnabled = false aaptOptions.useNewCruncher = false