Android Studio项目构建常见问题解决
2017-03-30 16:37
309 查看
1. 创建或导入项目后编译时一直在等待
问题:![](https://images2015.cnblogs.com/blog/751626/201703/751626-20170330162200508-1990749181.png)
原因:AS连网去下载gradle了,但是网络不好或不通
解决:禁用网络,AS就会立即自动终止下载进入到主界面了。此时再去指定离线的gradle版本进行编译;
![](https://images2015.cnblogs.com/blog/751626/201703/751626-20170330162223070-1324136240.png)
![](https://images2015.cnblogs.com/blog/751626/201703/751626-20170330162232399-1497435917.png)
2. Unknow host ‘services.gradle.org’
问题:![](https://images2015.cnblogs.com/blog/751626/201703/751626-20170330162309883-1612572641.png)
原因:当你导入第三方项目时,别人项目使用的gradle的版本与你的不一样,这时as就会连网去下载gradle版本,但是找不到services.gradle.org服务器。
解决:不一定要去下载不同的gradle版本,可以指定gradle为离线工作模式,使用你当前已存在的gradle版本就可以了。
![](https://images2015.cnblogs.com/blog/751626/201703/751626-20170330162328789-1536714289.png)
![](https://images2015.cnblogs.com/blog/751626/201703/751626-20170330162337320-1150961663.png)
3. Gradle DSL method not found: 'android()’
问题:Error:(16, 0) Gradle DSL method not found: 'android()'![](https://images2015.cnblogs.com/blog/751626/201703/751626-20170330162407430-1997822654.png)
原因:
当你通过Project Structure修改了编译的版本和工具时,会在Project的build.gradle文件中添加如下脚本代码:此时就会导致上面的错误。
![](https://images2015.cnblogs.com/blog/751626/201703/751626-20170330162422539-875364880.png)
android { compileSdkVersion 23 buildToolsVersion "23.0.0" }
解决方法:应当把上述的代码添加到module的build.gradle文件中,而不能添加到Project的build.gradle文件中
4. 找不到编译的android sdk版本
问题:![](https://images2015.cnblogs.com/blog/751626/201703/751626-20170330162555789-1428182042.png)
原因:找不到编译的android sdk版本
解决:你可以按提示打开 Android sdk Manager去下载相应的版本,
但最好的解决方式是把编译的版本修改为你当前存在的sdk版本就可以了。
你只需修改module的build.gradle文件中的如下版本:
![](https://images2015.cnblogs.com/blog/751626/201703/751626-20170330162619305-671181366.png)
5. 解析引用的第三方依赖失败了
![](https://images2015.cnblogs.com/blog/751626/201703/751626-20170330162644602-101675906.png)
解决: 禁用gradle离线工作模式,联网去下载依赖aar即可。
6. Gradle插件版本太低
问题:![](https://images2015.cnblogs.com/blog/751626/201703/751626-20170330162724461-1868665516.png)
![](https://images2015.cnblogs.com/blog/751626/201703/751626-20170330162731586-1097484641.png)
原因:
这种情况一般出现在导入其他人的项目,或者更新了android studio之后。原因是android studio是依赖gradle构建的,在构建android项目的时候,会使用到相关的android gradle插件。随着android studio及sdk的更新,可能会导致旧版本的插件不可用(比如在build tools的19.0版本之后,zipalign从tools目录中被移到build tools的对应版本目录中),所以 新版本的android studio会需要更高版本的插件来编译。
解决:通过以下方式查看你的gradle插件的版本,指定为该版本即可。
![](https://images2015.cnblogs.com/blog/751626/201703/751626-20170330162755914-1549898922.png)
7. AS导入eclipse项目后运行到模拟器显示乱码
重新设置编码,删除安装包后,重新编译运行;![](https://images2015.cnblogs.com/blog/751626/201703/751626-20170330162829633-1953139996.png)
8. 项目放在中文路径下报错
![](https://images2015.cnblogs.com/blog/751626/201703/751626-20170330162852102-201681282.png)
出错详情:
Error:(9, 0) Your project path contains non-ASCII characters. This will most likely cause the build to fail on Windows. Please move your project to a different directory. See http://b.android.com/95744 for details. This warning can be disabled by using the command line flag -Dcom.android.build.gradle.overridePathCheck=true, or adding the line com.android.build.gradle.overridePathCheck=true' to gradle.properties file in the project directory.
描述:项目不能放到中文路径下,否则会可能会出现如上错误。
解决:
方法一:路径不要有中文
方法二:
在C:\Users\Administrator\.gradle目录下的gradle.properties(如果该文件不存在则创建)文件中添加如下设置:
com.android.build.gradle.overridePathCheck=true
9. Gradle ‘xxx’ project refresh failed?
打开设置 搜索gradle 然后在Gradle VM options输入-Xmx512m或者-Xmx768m;10. 创建项目后布局文件预览出错
如下所示:![](https://images2015.cnblogs.com/blog/751626/201703/751626-20170330162942164-347794711.png)
Api 23使用了ToolBar代替actionbar, 主题中找不到actionbar所以出错了。
解决方式:
把sytles.xml中如下默认的主题:
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
修改成Base.Theme.AppCompat.Light.DarkActionBar
或者:Theme.AppCompat.Light.NoActionBar
11. AndroidStudio编译图片报错
AndroidStudio对图片格式要求比较严格,比如一些旧点的图片,或格式不标准的png图片,都有可能因为图片格式原因导致AndroidStudio编译报错![](https://images2015.cnblogs.com/blog/751626/201703/751626-20170330163104274-1206607008.png)
12. SDK23编译报httpclient的出错
![](https://images2015.cnblogs.com/blog/751626/201703/751626-20170330163125477-1190452653.png)
解决:
Android SDK23版本把httpclient从sdk中移除了,如果使用它,
需要手动添加httclient 的jar包:
![](https://images2015.cnblogs.com/blog/751626/201703/751626-20170330163145039-207420981.png)
13. Multiple Dex file
![](https://images2015.cnblogs.com/blog/751626/201703/751626-20170330163208555-1570137455.png)
14. ANDROID_DAILY_OVERRIDE value is also outdated
Error:(1, 0) Plugin is too old and ANDROID_DAILY_OVERRIDE value is also outdated, please use new value :"41b72d353033bfb5aa4d6a98088a908dcae15ef9"<a href="openFile:D:\workspace_studio\AS\MaterialDesign\app\build.gradle">Open File</a>
解决:
添加系统环境变量后重启Studio
环境变量:ANDROID_DAILY_OVERRIDE, 值为:41b72d353033bfb5aa4d6a98088a908dcae15ef9
15. Junit导致出错
![](https://images2015.cnblogs.com/blog/751626/201703/751626-20170330163311899-681574351.png)
解决:因为暂没有用到java单元测试从app的build.gradle文件中把该行引用删掉即可
相关文章推荐
- android项目从Eclipse迁移到Android studio中常见问题解决方法
- 解决android studio 新建项目构建慢的问题
- 关于android studio项目构建时产生各种问题的解决方法
- 构建maven web项目常见问题解决
- 【已解决】Android Studio导入GitHub上的项目常见问题
- 使用Android Studio构建Android项目常见问题收集
- 在Android studio 项目中使用 9patch常见问题解决
- VC6.0项目转为VS2010遇到常见问题的解决方法
- Eclipse+Maven构建web项目及部署时Maven lib依赖问题的解决
- 解决Android Studio首次创建项目时卡在下载Gradle的问题
- Gradle 构建 android 应用常见问题解决指南
- Android开发:Eclipse导入Android项目 项目导入常见问题 中文乱码解决
- Gradle 构建 android 应用常见问题解决指南 推荐
- Android Studio 创建项目常见问题
- 解决web项目开发中常见的中文乱码问题
- android导入项目常见问题解决
- Gradle 构建 android 应用常见问题解决指南
- 解决maven构建项目时空目录的复制问题
- android导入项目常见问题解决