Android Studio/Gradle构建问题集_gradle.properties_邓文(desaco)的博客-程序员秘密

技术标签: compile_apk/ipa/exe(IDE编程)等  

> xml文件无法预览
-- 解决Android studio3.1.2布局文件无法预览问题- https://blog.csdn.net/liuzhi0724/article/details/81318131
解决方法:进入工程的res->values->styles.xml文件,将parent的值,在前面加上Base.

-- Android Studio无法预览xml布局之解决方法(两种)-  https://blog.csdn.net/qq_33409436/article/details/82460618
 1.可以通过更改主题AppTheme,来使xml布局可以被预览
 2.查看主配置文件如下,获取主题配置信息(文件名:AndroidManifest.xml)

  记Android Studio 根目录 google()配置报错问题- https://www.jianshu.com/p/cb40bf3875d5
把google()换成了:maven { url 'https://maven.google.com/'}
  maven { url 'https://maven.google.com' } VS google()- https://www.jianshu.com/p/079a76c6d312

> 使用Gradle遇到的问题及其他:

Android Studio安装过程常见问题图解-- http://jingyan.baidu.com/article/fd8044fad5bdca5031137ab7.html

1. 将GitHub上的新项目导入Studio中
Pano360-master is registered as a git root,but no git repositories were found here.- https://stackoverflow.com/questions/43732446/registered-as-a-git-root-but-no-git-repositories-were-found-there

2. 升级到Studio 3.0.1和gradle-4.1遇到的两个问题
 1.GradleConnectionException: Could not install Gradle distribution from 'https://services.gradle.org/distributions/gradle-4.1-all.zip'
  2.Gradle sync failed: Cause: error in opening zip file
解决方案:可能原来的Gradle包损坏了,需要重新下载,替换原来的Gradle版本-http://blog.csdn.net/qq_35434831/article/details/72235863
把这个“https://services.gradle.org/distributions/gradle-3.3-all.zip”下载下来,替换损坏的,就搞定了。

 Android Studio 首坑 Gradle sync failed: Cause: error in opening zip file 的错误- https://www.cnblogs.com/maydear/p/6849745.html

3. AS出现Gradle's dependency cache may be corrupt错误的解决办法,一般出现这种问题的项目都是因为使用了gradle-3.3-all.zip,而gradle-3.3-all.zip无法直接在studio中下载下来。
方法一:直接在C盘C:\Users\desaco\.gradle用户文件夹下删掉.gradle文件夹即可。
方法二:将原来的gradle-4.1换成新的gradle-4.1-rc-1-all版本或将https换成Http;https\://services.gradle.org/distributions/gradle-4.1-rc-1-all.zip
方法三:直接在网上找到gradle-3.3-all.zip下载下来,不要解压缩,放在类似下面的目录中 C:\Users\Administrator\.gradle\wrapper\dists\gradle-3.3-all\55gk2rcmfc6p2dg9u9ohc3hw9
 解决win10环境下Android studio导入工程 Gradle's dependency cache may be corrupt 版本号不对应问题- http://blog.csdn.net/qq_32519479/article/details/73194964
 Android Studio出现Failed to open zip file问题的解决方法- http://www.jcodecraeer.com/a/anzhuokaifa/Android_Studio/2017/0317/7691.html

  还有个方法:下载比较高的版本的Studio,然后新建一个新的项目,跑起来之后,将新项目中的distributionUrl(替换Gradle版本)和classpath 
'com.android.tools.build:gradle:3.0.0'拷贝将要导入的项目中,将Https换成Http。
【classpath 'com.android.tools.build:gradle:3.0.0' ; distributionUrl=http\://services.gradle.org/distributions/gradle-4.1-all.zip】

4. 多个模块moudle中AndroidManifest.xml合并问题

1.Manifest merger failed with multiple errors?

2.uses-sdk tools:overrideLibrary的用法
 我的项目的最低支持版本为8(Android 2.2),而第三方库的最低支持版本为9(Android 2.3)?
在AndroidManifest.xml文件中 标签中添加<uses-sdk tools:overrideLibrary="xxx.xxx.xxx"/>,其中的xxx.xxx.xxx为第三方库包名,如果存在多个库有此异常,则用逗号分割它们,例如:<uses-sdk tools:overrideLibrary="xxx.xxx.aaa, xxx.xxx.bbb"/>,这样做是为了项目中的AndroidManifest.xml和第三方库的AndroidManifest.xml合并时可以忽略最低版本限制。<uses-sdk tools:overrideLibrary="android.support.test.uiautomator.v18"/>。

5. 在github上下载的项目,导入Studio一直失败

  1> GitHub或新的项目下,可能需要配置的东西有:
classpath 'com.android.tools.build:gradle:2.1.2',2.1.2表示Studio版本
distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip,2.10表示Gradle版本

2> 简单解决 Android Studio导入github下载的工程报错的问题- http://blog.csdn.net/yxl503248523/article/details/50695917
如何从GitHub上下载的项目导入到android studio- http://blog.csdn.net/a34927341/article/details/52949842
1.由于库的作者的开发环境(as的版本,sdk的版本,buildtool等和我们当前本机开发环境的不同,所以gradle的相关的文件和文件夹就会产生很大差异);
2.需要做的是:
 a.DownLoad Github上的Studio项目
 b.新建一个Studio项目,将新项目下的 gradle 文件夹 (必须)/build.gradle (必须)/gradle.properties (必须)/.gradle 文件夹 (非必须)(注意前面的.)拷贝后,替换Github DownLoad的Studio项目中的相应文件,
 c.然后将GitHub项目导入Studio中;
 d.查看项目中app/module/library的build.gradle 是否有新的apply plugin,如有apply plugin: 'com.jfrog.bintray'
  ,要在全局Project的build.gradle添加相应的依赖classpath "com.jfrog.bintray.gradle:gradle-bintray-plugin:1.0"

 e.然后同步下项目

6. android studio 如何删除一个module  
第一步:先删除掉Module下的iml文件
第二步:删除掉setting.gradle里面的Moudule的名字
第三步:关掉工程,重新打开,会提示不能发现Module的错误Error Loading Project Cannot load module ..Detail,
点击Detail链接
第四步:弹出错误框,点击YES,这样Moudule,就可以顺利删除
第五步:右击Moudule,点击Delete,这样就可以完整的删除,不会在重新生成 。

7. Studio导入ButterKnife jar包:
1)如果你是Eclipse,可以去官网下载jar包
2)如果你是AndroidStudio可以直接 File->Project Structure->Dependencies->Library dependency 搜索butterknife即可,第一个就是.

8. Android Studio出现:Your project path contains non-ASCII characters.-其实很好解决啦,就是你的工程项目路径或者项目名称包含了中文.错误原因:引用项目的路径中包含中文.

9. 升级为android studio3.0,gradle升级为4.1,报错
Can't process attribute android:fillColor="@color/text_gray": references references to other resources are not supported by build-time PNG generation 
需要在项目的build.gradle脚本中,增加对Vector兼容性的支持
   使用Gradle Plugin 2.0以上:
android {
    defaultConfig {
        vectorDrawables.useSupportLibrary = true
        javaCompileOptions.annotationProcessorOptions.includeCompileClasspath = true
    }
}
使用Gradle Plugin 2.0以下,Gradle Plugin 1.5以上:
android {
  defaultConfig {
    // Stops the Gradle plugin’s automatic rasterization of vectors
    generatedDensities = []
  }
  // Flag to tell aapt to keep the attribute ids around
  aaptOptions {
    additionalParameters "--no-version-vectors"
  }

}

10. 用Android studio2.3编写了一个项目,现在Android studio升级到3.0后再打开这个项目就报错了
Error:(847) error: 'orientation|screenSize|keyboardHidden|keyboard|' is incompatible with attribute android:configChanges (attr) flags [colorMode=16384, density=4096, fontScale=1073741824, keyboard=16, keyboardHidden=32, layoutDirection=8192, locale=4, mcc=1, mnc=2, navigation=64, orientation=128, screenLayout=256, screenSize=1024, smallestScreenSize=2048, touchscreen=8, uiMode=512].
 解决方案:在gradle.properties文件下加入android.enableAapt2=false(gradle.properties一般就在项目根目录下,Studio版本小于3.0的项目会有一个gradle.properties文件)

11. 解决Android Studio不能进入调试模式问题 http://blog.csdn.net/xiaopang_love_study/article/details/68961556
Build -> Clean Project 
Build -> Rebuild Project 
第二步是在build.gradel(Module:app)文件中加入调试属性
buildTypes {
    debug{
        minifyEnabled false
        debuggable true
    }
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }

}

12 . Android Studio之could not reserve enough space for object heap报错-http://blog.csdn.net/u014581901/article/details/51628798

13.  gradle project sync failed,为什么会形成这种奇怪的现象呢,因为依赖包的路径太长了。默认的情况下,gradle都在个人用户的目录下,有的人的名字长,有的名字短。名字长的一下子就溢出了,导致工程不能运行了。
 解决办法1 :把gradle的依赖包换一个地方。比如在eclipse中,通过gradle插件,直接修改目录即可。 注意,新指定的目录不能为 .gradle或者类似 以.开头,否则会没有效果。
 解决办法2.修改gradle版本,使用你本地已经sync成功的版本:D:\Program Files\Android\Android Studio\gradle\gradle-2.8。注意,这样并不能一定保证能解决问题,如果不成功,还是要改回去
  gradle Error:CreateProcess error=216, 该版本的 %1 与您运行的 Windows 版本不兼容。请查看计算机的系统信息,了解是否需要 x86 (32 位)或 x64 (64 位)版本的程序,然后联系软件发布者。
  gradle project sync failed,occurred during initialization of VM Could not reserve enough space for object heap--修改项目gradle.properties文件,添加下面一行代码:
org.gradle.jvmargs=-Xmx512m -XX:MaxPermSize=512m 

  引用的Jar包不能编译问题,Android studio如何更改gradle版本?-- http://jingyan.baidu.com/article/3c343ff7f84e950d36796357.html (找到项目下面的build.gradle文件,修改Gradle版本)。

14. Android Studio 安装完成,初次启动卡在download Components解决办法:
  首先关闭安装向导,如果无法关闭可以在任务管理器中手工关掉进程,然后打开Android Studio安装目录的bin目录下面的idea.properties文件,添加一条禁用开始运行向导的配置项:disable.android.first.run=true
  后来进入AS首页,配置sdk;点击configure→project defaults→project structure到这么一个界面配置android sdk 和jdk的路径.

15. Android Studio 报错failed to create jvm error code -4的解决方法-- http://blog.csdn.net/waitone123/article/details/52446878

打开 Android Studio 安装目录下的bin目录,查找并打开文件 studio.exe.vmoptions,修改代码:-Xmx512m 为 -Xmx256m

   android studio1%与windows不兼容?-- http://www.zhihu.com/question/50793073/answer/122961021 , http://blog.csdn.net/gao_fei1129/article/details/52681225

  Android Studio Error: Error:CreateProcess error=216, This version of %1 is not compatible with the version of Windows you're running-- http://stackoverflow.com/questions/37624369/android-studio-error-errorcreateprocess-error-216-this-version-of-1-is-not-c.

16.   Android Studio报错UTF-8+BOM的解决办法,eclipse可以自动把UTF-8+BOM格式转换成UTF-8格式,而Android studio没有这种功能。UTF-8编码最好不要带BOM,带BOM的UTF-8编码是微软的习惯,如果在其它系统(我用的MAC OSX)很可能就会出现问题。

17.Eclipse Unknown error: Unable to build: the file dx.jar was not loaded from the SDK folder!解决方法- https://blog.csdn.net/betterfate/article/details/70527228

18. Studio与Gradle-- Error: Your project contains C++ files but it is not using a supported native build system

解决方案:https://blog.csdn.net/lanuage/article/details/53072303

1.首先在工程目录下的gradle.properties文件的末尾加上一句:Android.useDeprecatedNdk=true 
2.然后在buildTypes中加入sourceSets {}
buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        sourceSets {
            main {
                jni.srcDirs = []
            }
        }

    }

19. gradle编译时,出现Error:All flavors must now belong to a named flavor dimension. Learn more at https://d.android.com
  The following dependencies on the compile classpath are found to contain annotation processor.  Please add them to the annotationProcessor configuration.项目中配置butterknife:7.0.1,框架的版本过低。
在主app的build.gradle里面的
defaultConfig {
        applicationId "*.*.*"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 10
        versionName "1.6.6"
        flavorDimensions "versionCode"
        javaCompileOptions {
            annotationProcessorOptions {
                includeCompileClasspath = true    //加上这行即可
            }
        }
    }

20. error: style attribute ‘@android:attr/windowEnterAnimation’ not found;error: value attribute ‘@android:attr/windowEnterAnimation’ not found

全局搜索@android:attr/windowEnterAnimation找到相应的地方,把@去除

21. Android studio升级3.0,提示“Error:Cannot choose between the following configurations of project”错误- https://blog.csdn.net/tangxl2008008/article/details/78416138
 Error:Cannot choose between the following configurations of project :pickerview:  
  - debugApiElements  
  - debugRuntimeElements  
  - releaseApiElements  
  - releaseRuntimeElements 
解决办法:
   1、project的build.gradle文件,删除“apt”配置:
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' //删除  
   2、module的build.gradle文件,删除“android-apt”引用:
apply plugin: 'android-apt'  //删除  
   3、module的build.gradle文件,修改“dependencies”中的“apt”方式 为“annotationProcessor”方式:
apt "引用项"  //老方式,删除  

annotationProcessor "引用项" //新方式 

-- Android Studio遇到Failed to resolve: common问题- https://blog.csdn.net/jahonn/article/details/80639576
将Project的build.gradle文件中的google()挪到jcenter()上面一行就可以了:
buildscript {  
    repositories {  
        google() //TODO 20180610 add 
        jcenter()  
    }  
    dependencies {  
        classpath 'com.android.tools.build:gradle:3.0.0'  
  
        // NOTE: Do not place your application dependencies here; they belong  
        // in the individual module build.gradle files  
    }  
}  
  
allprojects {  
    repositories {  
        google()  //TODO 20180610 add
        jcenter()  
    }  

 

22.升级AndroidStudio3.0 Unable to resolve dependency for ':[email protected]/compileClasspath问题解决-https://blog.csdn.net/hglyh/article/details/79751591
 app的build.gradle里buildTypes 写了什么,module里必须也写上,写成空的也行:
buildTypes {
        debug {
            .....
        }
        release {
            .....
        }
        sourceSets {
           .....
        }
    }
 然后修改对应module的build.gradle,添加对应的代码:
buildTypes {
        debug {
            .....
        }
        release {}
        sourceSets {}
    }

  23.Error:Library projects cannot set applicationId. applicationId is set to 'org.geometerplus.zlibrary.ui.android' in default config.
 module的build.gradle里面defaultConfig内存在:,module中有applicationId,删除即可
    defaultConfig {
        applicationId "com.du.android.recyclerview"
        minSdkVersion 21
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }
红色部分的字体,这时删除红色标注的内容即可!

24. Error:Execution failed for task ':app:processDfDebugManifest'.
> Manifest merger failed with multiple errors, see logs
 这说明在合并所有的Manfest文件时冲突了,几率最大的两个原因是
1.build.gradle中设置的compileSdkVersion buildToolsVersion minSdkVersion targetSdkVersion不统一,需要按宿主项目的配置进行统一。
2.几个项目的AndroidManifest文件中设置了多个android:allowBackup    android:icon   android:label  android:theme 属性,这里需要在宿主项目的Manfest文件中添加两句话
manifest 节点下加入
xmlns:tools="http://schemas.android.com/tools"
application节点下加入
tools:replace="android:allowBackup,icon,theme,label"

不能写成tools:replace="android:allowBackup,android:icon,android:theme"   虽然不报错,但是不起作用。

25. Error:Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDfDebug'.
com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex

完美解决Error:Execution failed for task ':APP:transformClassesWithDexForDebug'...问题- https://blog.csdn.net/lvshuchangyin/article/details/53785494

26. > Error: Please select android SDK
打开Android Studio报错“Error running ***: Please select Android SDK”- 
https://blog.csdn.net/aqi00/article/details/78858336/
https://www.jianshu.com/p/0fb5a857662e?from=timeline

27. studio3.0后gradle新的依赖方式
Android 升级gradle 插件到 3.0.+- https://blog.csdn.net/o279642707/article/details/78962871
gradle新的依赖方式你真的了解吗?- https://blog.csdn.net/RunningShadow_007/article/details/78681788

28. android studio 3.1.2找不到android monitor解决办法->因为as在新版本,更名了,变为android profile,点击下图即可
通过Android Studio的Android Profiler来动态的查看我们APP的内存使用情况;
也可以用DDMS来查看内存信息 ,DDMS打开方式:Tools->Android->Android Device Monitor。

29. the modules [xx1, xx2] point to the same directory in the file system.
解决方法:
在菜单工具栏中:File → Invalidated Caches / Restart… → Invalidate & Restart

30. Missing javaCompileTask for variant: debug/0 from output dir:
gradle升级到了4.1后, 需要升级retrolambda版本为3.7.0,classpath 'me.tatarka:gradle-retrolambda:3.7.0'

31.-- Each module has to have a unique path
 把.iml文件给上传上去了,每次builde都会出现不同的错误,这次出现:Each module has to have a unique path,在stackflowe上说,直接删除就行了,结果,就是直接把Project.iml文件删除就可以了。
 在菜单工具栏中:File → Invalidated Caches / Restart… → Invalidate & Restart。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/ShareUs/article/details/80279907

智能推荐

韩顺平java作业题_韩顺平java作业_一只小小的IOS的博客-程序员秘密

接口体现了程序设计的多态和高内聚低耦合的思想第十四课 final 作业评讲 1.实现接口和继承父类的区别: 2.java 是单继承,一个类只允许继承一个父类,这种单继承......韩顺平java坦克大战1.0版本_源代码_工学_高等教育_教育专区。韩顺平java坦克大战1.0版本_源代码 /**画坦克 1.0 */ import java.awt.Color; import java.awt......

mysql添加语句的写法_mysql-建表、添加字段、修改字段、添加索引SQL语句写法_长安瑞的博客-程序员秘密

表的操作1、建表--如果USERS表存在则删除DROP TABLE IF EXISTS USERS;CREATE TABLE USERS(id INT UNSIGNED NOT NULL AUTO_INCREMENT, # 主键 UNSIGNED 无符号 AUTO_INCREMENT 自增name VARCHAR(30) NOT NULL COMMENT '用户名',sex ENUM('男','女...

一例swoole_process运行swoole_http_server_p是马甲的博客-程序员秘密

swoole_processswoole_process('执行的文件路径','文件所需的参数');//利用swoole-process执行一个外部脚本swoole_process__construct(回调函数, redirect_stdin_stdout, 是否创建进程通信用的管道)参数redirect_stdin_stdout 值为true子进程返回的结果不输出到屏幕...

java.net.SocketException: socket failed: EACCES (Permission denied)联网权限已经设置了还是报错的两个原因及解决方案_千曲生的博客-程序员秘密

最近在移动开发的时候遇到了java.net.SocketException: socket failed: EACCES (Permission denied),但是我也在manifest中设置了联网权限经过我的尝试终于找到了解决方案:1:出错原因:是因为把联网的操作写在主线程中,从android 4.0以后就不允许这样操作了,因为如果在主线程里联网,如果网络不好那么整个程序就卡死

使用JS实现简单的选项卡功能_js实现选项卡_Max-人定的博客-程序员秘密

首先我们来写HTML代码,构建出整体结构&amp;amp;amp;amp;n

Go1.13:使用go mod 管理依赖, 提示cannot find module providing package或cannot find main module_the go.mod file for the module providing named pac_琦彦的博客-程序员秘密

问题现象编译go程序的时候报错:GOROOT=D:\go\GoSDK #gosetupGOPATH=D:\hc\workspace\fly\go\src\github.com\learngo;D:\hc\workspace\fly\go #gosetupD:\go\GoSDK\bin\go.exe build -o C:\Users\FLY\AppData\Local\Temp\__...

随便推点

一文教你弄懂Flink核心功能和原理_DanielMaster的博客-程序员秘密

Flink原理详解,包括Flink的概述、特性、优势、四大基石、应用场景、执行引擎解析/架构、容错State和Checkpoint、Time、内部原理九个部分

单片机延时函数_weixin_30322405的博客-程序员秘密

1.51单片机延时,晶振为11.0592MHz(1)粗略延时void delay_ms(uint x){uint i,j;for(i=x;i&gt;0:i--)for(j=110;j&gt;0;j--);}(2)定时器延时void delay_ms(uint i){TMOD=0x01; //设置定时器工作模式while(i != 0){TR0=1; ...

fiddler4自动生成jmeter脚本_weixin_30466953的博客-程序员秘密

接口、性能测试任务当遇到从浏览器或移动app自己抓包的情况出现时就变得巨苦逼了,苦在哪里?苦在需要通过抓包工具抓报文,需要通过抓包报文梳理业务逻辑、需要将梳理的逻辑编写成脚本。最最苦的情况是,自己抓包往往接口的数量较大,将一个个接口请求报文维护到jmeter这样的接口、性能测试工具后,小爪爪、大爪爪有没有快抽筋的痛呢?肯定有。在这里推荐通过fiddler的插件实现自动生成jmeter脚本...

Dinic + 当前弧优化 教程及模板_dinic 当前弧优化_Floatiy的博客-程序员秘密

在阅读本文前,建议先自学最大流的Ek算法。引入Ek的核心是执行bfs,一旦找到增广路就停下来进行增广。换言之,执行一遍BFS执行一遍DFS,这使得效率大大降低。于是我们可以考虑优化。核心思路在一次BFS中,找到的增广路可能不止一条,这时我们可以本着“尽量少进行BFS”的想法,在一次bfs后把所有能增广的路径全部增广。 具体怎么做呢? 仍然是: while(bfs(...

c++默认赋值操作符_默认赋值运算符_bluemaths的博客-程序员秘密

包含内置类型的类的默认赋值操作符,会对每一个成员逐一赋值。如下。#include #include #include struct UNIT{ int total; int used; char name[10];};int main(){ UNIT test, asign; test.total = 100; test.used = 40; strcpy

Hystrix问题记录_无始之名的博客-程序员秘密

原文链接:https://www.dubby.cn/detail.html?id=91001、CommandKey缓存问题考虑这样一个场景,先new了一个Command(commandKey=“commandA”),他的隔离策略是信号量隔离(ExecutionIsolationStrategy.SEMAPHORE),之后又new了一个Command(commandKey=“commandA”)...

推荐文章

热门文章

相关标签