1. AS构建常见出错问题解决[重要]
1.1.创建或导入项目后一直等待无法进入主界面
问题:
原因:AS连网去下载gradle了,但是网络不好或不通
解决:禁用网络,AS就会立即自动终止下载进入到主界面了。此时再去指定离线的gradle版本进行编译;
1.2.Unknow host ‘services.gradle.org’
问题:
原因:导入第三方AS项目时,需要连网去下载对应的gradle版本,但连接不到services.gradle.org服务器。
解决:可以独立下载gradle版本,放置到某个目录,再指定所在目录,如下图设置:
问题:Error:(16,0) Gradle DSL method not found: 'android()'
原因:
当你通过ProjectStructure修改了编译的版本或工具时,可能会在Project的build.gradle配置文件中添加如下脚本代码,此时就会导致上面报错了。
android {
compileSdkVersion 23
buildToolsVersion "23.0.0"
}
解决方法:
把上述的代码添加到module的build.gradle文件中,而不能添加到Project的build.gradle文件中
1.4.Unsupported major.mirror version 52.0
解决:
JDK版本有问题,请更换JDK:先卸载原有的jdk,再安装我发给大家的资料中的jdk8
1.5.Project中的build.gradle提示Gradle插件版本报错
问题:
解决:
方式一:取消离线模式,再点击sync重新编译项目,就会自动下载对应的gradle插件了。
方式二:通过以下方式查看gradle插件的版本,指定为该版本即可。
[或者默认创建一个AndroidStudio项目,看看默认的gradle插件版本是什么,修改成那个版本即可]
1.6.找不到编译的android sdk版本
问题:
原因:找不到编译的androidsdk版本
解决:修改module中的build.gradle文件中版本为你本地存在的sdk版本(比如23)就可以了。
1.7.中文路径出错(1)
出错详情:
Error:(9,0) Your project path contains non-ASCII characters. This will most likely causethe build to fail on Windows. Please move your project to a differentdirectory. See http://b.android.com/95744 for details. This warning can bedisabled by using the command line flag-Dcom.android.build.gradle.overridePathCheck=true, or adding the linecom.android.build.gradle.overridePathCheck=true' to gradle.properties file inthe project directory.
描述:项目不能放到中文路径下,否则会可能会出现如上错误。
解决:
方法一:路径不要有中文 [推荐]
方法二:在C:\Users\Administrator\.gradle目录下的gradle.properties(如果该文件不存在则创建)文件中添加如下设置:
com.android.build.gradle.overridePathCheck=true,
1.8.中文路径出错(2)点九图片处理出错
问题:crunchingcruncher...
解决:避免使用中文路径
1.9.png编译图片报错
AndroidStudio对图片格式要求比较严格,比如一些点九的图片,或格式不标准的png图片,都有可能因为图片格式原因导致AndroidStudio编译报错
在模块的build.gradle文件下,添加:
aaptOptions.cruncherEnabled = false
aaptOptions.useNewCruncher = false
类似如下:
1.10. SDK23编译报httpclient出错
解决:
Android SDK23版本把httpclient从sdk中移除了,如果使用它,
需要手动添加httclient的jar包:
1.11. 解析引用的第三方依赖失败了
解决:取消离线模式,自动去下载依赖
1.12. Multiple Dex file
解决方式:重复添加jar包了,把重新添加的jar包移除即可。
1.13. 文件目录太深了
1.14. ANDROID_DAILY_OVERRIDE 问题:gradle插件太旧了Error:(1, 0) Plugin is too old, please update to a more recent version, or set ANDROID_DAILY_OVERRIDE environment variable to "e877086ba74456e68d4c929dc482539df9ffac38"
解决:
添加系统环境变量后重启Studio
环境变量:ANDROID_DAILY_OVERRIDE, 值为:41b72d353033bfb5aa4d6a98088a908dcae15ef9
2. 其它出错问题
2.1.AndroidStudio IDE乱码
问题:AndroidStudio中的一些窗口显示乱码,如打开项目窗口乱码,或者logcat过滤器输入中文显示乱码
解决:File > Settings > Appearance &Behavior > Appearance,
将default fonts改为Microsoft YaHei(改成其它SimSun、NSimSun也行,但个人觉得雅黑好看些)。
2.2.Junit导致的出错
解决:因为暂没有用到java单元测试从app的build.gradle文件中把该行引用删掉即可
2.3.Hamcrest-core.jar导致出错
解决:
这个是因为最新的创建项目会使用junit库来进行代码测试,在下载这个库的内容的时候发现他引用了hamcrest这个框架,不过国内下载这个jar包hamcrest-core.jar不成功,所以会报这个错误。
简单的处理方式是把build.gradle里引用的junit删除掉
2.4.非法字符\ufeff
Android Studio 错误: 非法字符\ufeff解决方案 |错误: 需要class, interface或enum
原因:
Eclipse可以智能的把UTF-8+BOM文件转为普通的UTF-8文件,Android Studio还没有这个功能,所以使用Android Studio编译UTF-8+BOM编码的文件时会出现”非法字符: ‘\ufeff’ “之类的错误
解决方法:手动将UTF-8+BOM编码的文件转为普通的UTF-8文件。
用EdItPlus打开.java文件依次:文档》文本编辑》转换文本编码》选择UTF-8编码即可
2.5.创建项目后布局文件预览出错WindowDecorActionBar
如下所示:
Api 23使用了ToolBar代替actionbar, 主题中找不到actionbar所以出错了。
解决方式:
把sytles.xml中如下默认的主题:
修改成Base.Theme.AppCompat.Light.DarkActionBar
或者:Theme.AppCompat.Light.NoActionBar
BY WJQ