Android Studio项目构建常见问题解决
1. 创建或导入项目后编译时一直在等待
问题:

原因:AS连网去下载gradle了,但是网络不好或不通
解决:禁用网络,AS就会立即自动终止下载进入到主界面了。此时再去指定离线的gradle版本进行编译;


2. Unknow host ‘services.gradle.org’
问题:

原因:当你导入第三方项目时,别人项目使用的gradle的版本与你的不一样,这时as就会连网去下载gradle版本,但是找不到services.gradle.org服务器。
解决:不一定要去下载不同的gradle版本,可以指定gradle为离线工作模式,使用你当前已存在的gradle版本就可以了。


3. Gradle DSL method not found: 'android()’
问题:Error:(16, 0) Gradle DSL method not found: 'android()'

原因:
当你通过Project Structure修改了编译的版本和工具时,会在Project的build.gradle文件中添加如下脚本代码:此时就会导致上面的错误。

android {
compileSdkVersion 23
buildToolsVersion "23.0.0"
}
解决方法:应当把上述的代码添加到module的build.gradle文件中,而不能添加到Project的build.gradle文件中
4. 找不到编译的android sdk版本
问题:

原因:找不到编译的android sdk版本
解决:你可以按提示打开 Android sdk Manager去下载相应的版本,
但最好的解决方式是把编译的版本修改为你当前存在的sdk版本就可以了。
你只需修改module的build.gradle文件中的如下版本:

5. 解析引用的第三方依赖失败了

解决: 禁用gradle离线工作模式,联网去下载依赖aar即可。
6. Gradle插件版本太低
问题:


原因:
这种情况一般出现在导入其他人的项目,或者更新了android studio之后。原因是android studio是依赖gradle构建的,在构建android项目的时候,会使用到相关的android gradle插件。随着android studio及sdk的更新,可能会导致旧版本的插件不可用(比如在build tools的19.0版本之后,zipalign从tools目录中被移到build tools的对应版本目录中),所以 新版本的android studio会需要更高版本的插件来编译。
解决:通过以下方式查看你的gradle插件的版本,指定为该版本即可。

7. AS导入eclipse项目后运行到模拟器显示乱码
重新设置编码,删除安装包后,重新编译运行;

8. 项目放在中文路径下报错

出错详情:
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. 创建项目后布局文件预览出错
如下所示:

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编译报错

12. SDK23编译报httpclient的出错

解决:
Android SDK23版本把httpclient从sdk中移除了,如果使用它,
需要手动添加httclient 的jar包:

13. Multiple Dex file

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导致出错

解决:因为暂没有用到java单元测试从app的build.gradle文件中把该行引用删掉即可
Android Studio项目构建常见问题解决的更多相关文章
- 在内网使用Gradle构建Android Studio项目
在Android Studio项目中,默认的远程仓库为jcenter,如果在项目引用了一些类库,Gradle构建程序的时候会将这些依赖类库从jcenter网站下载到本地,如我们在 build.grad ...
- 如何在Android Studio项目中导入开源库?
前两天,谷歌发布了Android Studio 1.0的正式版,也有更多的人开始迁移到Android Studio进行开发.然而,网上很多的开源库,控件等还是以前的基于Eclipse进行开发,很多人不 ...
- [转]加速Android Studio/Gradle构建
加速Android Studio/Gradle构建 android android studio gradle 已经使用Android Studio进行开发超过一年,随着项目的增大,依赖库的增多, ...
- Android Studio项目结构
我们创建了一个Android Project,打开就如下图所示: 我们选择Project视图,就会有以下的项目文档结构: 上面笔者标注的数字是接下来要讲解的内容. 我们先来看1: 我们创建Appl ...
- Android零基础入门第15节:掌握Android Studio项目结构,扬帆起航
原文:Android零基础入门第15节:掌握Android Studio项目结构,扬帆起航 经过前面的学习,Android Studio开发环境已准备OK,运行Android应用程序的原生模拟器和Ge ...
- Android Studio项目转Eclipse项目
Android Studio项目的目录结构和Eclipse项目不同.如何转换? 以FloatingAction 项目为例:实现向上滑动隐藏悬浮按钮,向上滑动显示悬浮按钮. GitHub 地址:http ...
- Android Studio项目整合PullToRefresh的问题记录
PullToRefresh下拉刷新在App中应用非常频繁,然而PullToRefresh是在ADT下开发完成的.如果要将其整合到Android Studio目录下的话颇费周折.前面的文章“Androi ...
- 怎样将android studio项目导入eclipse
如今,越来越多的开源项目都是用android studio来开发的,所以源码都与eclipse有所不同. 以下是将android studio项目导入eclipse的一般步骤: 1. 先解压项目: 2 ...
- Android studio 项目(Project)依赖(非Module)
Android studio 项目(Project)依赖(非Module) 0. 前言 对于Module 级别的依赖大家都知道,今天说下Android Studio下的项目依赖. 场景: A Proj ...
随机推荐
- java多线程四种实现模板
假设一个项目拥有三块独立代码块,需要执行,什么时候用多线程? 这些代码块某些时候需要同时运行,彼此独立,那么需要用到多线程操作更快... 这里把模板放在这里,需要用的时候寻找合适的来选用. 总体分为两 ...
- Xamarin开发IOS系列教程一:安装黑苹果
经过一番思想挣扎和斗争之后,最终还是选择采用Xamarin来开发跨平台移动应用,好处和优点大家可以搜索其它博文,因为家里面穷加上谈了恋爱,就不买苹果了,开发阶段在Windows上面直接搞定哈,时候不早 ...
- 税号输入框 将input框中的输入自动转化成半角大写
这两天出了这么一个需求,输入税号的时候,需要自动将其转化为半角大写,并且阻止标点符号中文汉字的输入.(下面会有:全半角转换.文本框选中.光标位置判断.设置光标位置 这些内容) 然后我就开始了慢慢查找资 ...
- Extjs 数据代理
Ext.data.proxy.Proxy 代理类的根类 客户端代理: 1.LocalStorageProxy:将数据存储在localStorage中,此种方式可以持久的将数据存储在客户端 要使用代理, ...
- CSS 中的相对量
CSS 属性的浏览器兼容性,请查询 Can I Use. 已经被标准废弃(Deprecated)的属性,没有列出. 欢迎您与我一同完善这个清单,提供数据的读者姓名将在文中标注. (通过评论方式提供遗漏 ...
- windows下使用命令行给通过genymotion创建的虚拟机配制IP地址
1.先用genymotion创建2个虚拟机,GoogleNexus7-1,GoogleNexus7-2. 2.在命令行执行 vBoxManage dhcpserver modify --ifname ...
- Java回调机制解读
模块间调用 在一个应用系统中,无论使用何种语言开发,必然存在模块之间的调用,调用的方式分为几种: (1)同步调用 同步调用是最基本并且最简单的一种调用方式,类A的方法a()调用类B的方法b(),一直等 ...
- .NET Core中妙用unsafe减少gc提升字符串处理性能
一.前言 昨天在群里讨论怎么样效率的把一个字符串进行反转,一般的情况我们都知道,只要对String对象进行操作,那么就会生成新的String对象,比如"1"+"2&quo ...
- tornado学习 - TCPClient 实现聊天功能
之前完成了一个简单的聊天服务器,连接服务器使用的是系统自带nc命令,接下来就是通过自己实现TCPClient. 客户端与服务器功能大致相仿,相对与服务器只是少了转发消息环节. 首先,定义TCPClie ...
- 在.NET Core控制台应用程序中使用强类型配置
想象一下,你写一个控制台应用程序,你想要从配置文件中以强类型方式读取配置. .NET Core 可以帮助我们解决. 通常我会在ASP.NET Core MVC中演示,但简单起见,只在控制台应用程序中演 ...