Android Studio项目构建时遇到的常见问题及解决办法

1.项目构建常见问题解决[重要]

1.1. 创建或导入项目后编译时一直在等待

问题:

原因:AS连网去下载gradle了,但是网络不好或不通

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

1.2. Unknow host ‘services.gradle.org’

问题:

原因:当你导入第三方项目时,别人项目使用的gradle的版本与你的不一样,这时as就会连网去下载gradle版本,但是找不到services.gradle.org服务器。

解决:不一定要去下载不同的gradle版本,可以指定gradle为离线工作模式,使用你当前已存在的gradle版本就可以了。

1.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文件中

1.4. 找不到编译的android sdk版本

问题:

原因:找不到编译的android sdk版本

解决:你可以按提示打开 Android sdk Manager去下载相应的版本,

但最好的解决方式是把编译的版本修改为你当前存在的sdk版本就可以了。

你只需修改module的build.gradle文件中的如下版本:

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

解决: 禁用gradle离线工作模式,联网去下载依赖aar即可。

1.6. Gradle插件版本太低

问题:

原因:

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

解决:通过以下方式查看你的gradle插件的版本,指定为该版本即可。

1.7. AS导入eclipse项目后运行到模拟器显示乱码

重新设置编码,删除安装包后,重新编译运行;

1.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

1.9. Gradle ‘xxx’ project refresh failed?

打开设置 搜索gradle 然后在Gradle VM options输入-Xmx512m或者-Xmx768m;

1.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

1.11. AndroidStudio编译图片报错

AndroidStudio对图片格式要求比较严格,比如一些点九的图片,或格式不标准的png图片,都有可能因为图片格式原因导致AndroidStudio编译报错

1.12. SDK23编译报httpclient的出错

解决:

Android SDK23版本把httpclient从sdk中移除了,如果使用它,

需要手动添加httclient 的jar包:

1.13.Multiple Dex file

1.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”Open File< /a>

解决:

添加系统环境变量后重启Studio

环境变量:ANDROID_DAILY_OVERRIDE, 值为:

41b72d353033bfb5aa4d6a98088a908dcae15ef9

1.15. Junit导致出错

解决:因为暂没有用到java单元测试从app的build.gradle文件中把该行引用删掉即可

时间: 2024-10-12 19:56:33

Android Studio项目构建时遇到的常见问题及解决办法的相关文章

Android Studio项目构建常见问题解决

1. 创建或导入项目后编译时一直在等待 问题: 原因:AS连网去下载gradle了,但是网络不好或不通 解决:禁用网络,AS就会立即自动终止下载进入到主界面了.此时再去指定离线的gradle版本进行编译: 2. Unknow host ‘services.gradle.org’ 问题: 原因:当你导入第三方项目时,别人项目使用的gradle的版本与你的不一样,这时as就会连网去下载gradle版本,但是找不到services.gradle.org服务器. 解决:不一定要去下载不同的gradle版

Android Studio 设置项目Module编码,解决Android Studio项目执行时乱码问题

Android Studio的项目设置逻辑与Eclipse有非常大的差别.运行的操作为File->Setting->File Encodings然后来进行设置,如图所看到的: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" width="600" height="40

Android Studio 设置项目Module编码,解决Android Studio项目运行时乱码问题

Android Studio的项目设置逻辑与Eclipse有很大的区别,执行的操作为File->Setting->File Encodings然后来进行设置,如图所示: 打开module的 build.gradle 文件修改编译器使用的编码,经过上面的设置,只能影响你在IDE 里面编辑器视图里面看到的文件内容的编码.编译器使用的编码还需要单独设置,否则 gradle 默认使用 utf-8 的编码和文件的实际编码不一致,就会导致程序运行的时候显示乱码. gradle 配置编码在 build.gr

在Mac上用bootcamp安装windows,使用Android studio启动模拟器时蓝屏问题的解决方法

原链接 https://medium.com/@andrea.bresolin/windows-10-on-mac-with-boot-camp-making-intel-haxm-work-without-crashing-the-system-39555854f815 大概意思Android studio的模拟器需要intel的haxm服务,但windows on Mac的电源管理和haxm之间有一定问题,所以睡眠后无法正常重启haxm,需要手动重启. 原文地址:https://www.cn

Android studio的app上有红叉的解决办法

早晨在打开新的项目时不知道碰到了什么,结果突然使原来的项目无法运行并且提示module not specified(建议查一下module,相信会帮助你解决你所遇到的问题),经过半天的查询解决和尝试发现是每个项目都会有自己的sdk配置,而Android studio有自己的默认sdk配置,如果在打开时没有处理好就会出现各种问题. 解决办法: 很简单:File->Sync Project with Gradle Files即可. 由于出现红叉的原因有很多,本解决办法只是针对于sdk配置不与原来项目

分享:Android Studio 导入第三方jar包,重复加载错误解决办法。

最近在使用Http时需要实现文件上传,虽然可以使用HttpURLConnection 实现原生post上传,不过这个好像效率很低,然后就选择网上比较多的HttpClient 通过HttpPost的方式上传文件,使用这种方式的时候需要用到apache的一个jar包,httpmime-xxx.jar 这个包还依赖于httpcore-xxx.jar,在正常的导入两个jar包后,满心欢喜的准备变异,可是一个蛋疼的错误蹦出来了: Error:duplicate files during packaging

Android Studio 添加httpmime,httpcore遇到的BUG和解决办法。

今天上传文件的时候用了MultipartEntityBuilder,添加了httpcore等2个依赖库,编译运行的时候,studio出现一个奇怪的错误提示: Duplicate files copied in APK META-INF/DEPENDENCIES File 1: /home/bluelife/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpmime/4.3.1/f7899276dddd01d8a42e

Android Studio运行安卓程序报Failure [INSTALL_FAILED_OLDER_SDK]的解决办法

http://androidren.com/index.php?qa=320&qa_1=android-studio运行安卓程序报failure-install_failed_older_sdk 一般情况是最小支持的sdk版本高于当前设备的Android系统版本,这时候需要修改manifest和build.gradle两个地方. 修改源码app目录下的"build.gradle"文件,将其中的minSdkVersion .targetSdkVersion 修改为跟manifes

在内网使用Gradle构建Android Studio项目

在Android Studio项目中,默认的远程仓库为jcenter,如果在项目引用了一些类库,Gradle构建程序的时候会将这些依赖类库从jcenter网站下载到本地,如我们在 build.gradle使用了以下依赖: dependencies { compile 'de.hdodenhof:circleimageview:2.1.0' } 下载的地址为:https://jcenter.bintray.com/de/hdodenhof/circleimageview/2.1.0/ 本地缓存地址