Articles of android gradle

Gradle错误:只能在android studio中从事件分派线程写入访问

在将Android Studio更新到版本2.2(在Windows 10上)之后,第二天早上我在任何项目上build立gradle时收到了这样的错误: Write access is allowed from event dispatch thread only 尽pipegradlew -build命令成功完成。 我尝试了WTF修复集的典型Android开发人员:干净的构build,无效caching,删除生成文件夹,删除.gradle文件夹,尝试不同的gradle设置,甚至重新安装android工作室,没有什么帮助。 我创造这个问题只是为了与社区分享我的经验,因为我浪费了两个小时。

如何在Android Studio中添加风味?

我有一套使用相同模块的项目,其中包含几乎所有的实际代码。 该项目设置如下: project/ – app/ – build.gradle – libraries/ – module/ – build.gradle – build.gradle – settings.gradle 依赖关系都设置正确,我可以build立和运行的应用程序很好,但我只能添加风味的项目,这不是一个理想的解决scheme。 settings.gradle包含以下内容: include ':app', ':libraries:module' 在app目录的build.gradle文件中,我添加了以下代码块: productFlavors { alpha production } 使用Gradle 0.11,这将同步并创buildassembleAlphaDebug , assembleAlphaRelease , assembleProductionDebug , assembleProductionRelease任务。 当我试图在模块中这样做,而是我得到的错误: 找不到与指定名称匹配的资源(位于'主题',值为'@ style / MyCustomTheme') 在构build的app/src/main/AndroidManifest.xml 。 出于某种原因,该模块没有build立,所以自定义主题不起作用。 我究竟做错了什么?

执行失败的任务':app:compileDebugAidl':aidl缺失

我在电脑上安装了Android Studio。 我创build了一个新的项目,但是我得到了下面的错误。 我能做什么? Error:Execution failed for task ':app:compileDebugAidl'. > aidl is missing 我的Android Studio版本是1.1.0 。 这是我的build.gradle文件: buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:1.1.0' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { jcenter() } } 和: […]

(Dis-)在Android Studio项目中拥有多个模块的优势?

在Android Studio项目中有多个模块只有一个大型应用程序模块是有利的吗? 我一般了解Android模块和SOLID的优点,所以我特别关注构build性能 。 作为gradle可以做增量构build,如果只有一个模块更改,其他模块不需要处理? 这是显而易见的还是有相当数量的开销?

错误:执行失败的任务':android:transformClassesAndResourcesWithProguardForRelease'

每当我运行我的项目时,我得到这个错误。 我可以做一个清洁,然后再次运行,它的工作原理。 但这不是一个最佳解决scheme。 有任何想法吗? Error:Execution failed for task ':android:transformClassesAndResourcesWithProguardForRelease'. java.io.IOException:未能将android \ build \ intermediates \ transforms \ proguard \ release \ folders \ 3 \ 1f \ main \ classes.jar重命名为android \ build \ intermediates \ transforms \ proguard \ release \ jars \ 3 \ 1f \ classes.jar

有没有一种安全的方法来pipe理API密钥?

我在我的应用程序中使用了一个API 。 我目前从一个java界面pipe理API密钥 public interface APIContract { //The API KEY MUST NOT BE PUBLISH. It is possible to generate a new one for free from www.themoviedb.org //Remove before commit !!! String API_KEY = "abcdefghijklmnopqrstuvwxyz"; /… } 这样做的工作。 我可以使用APIContract.API_KEY访问密钥,但正如您在注释中看到的,如果使用git和公共存储库(我不假设发布此密钥),这是不安全的。 所以这里是我的问题:是否有可能把这个键在另一个地方,我可以轻松地从我的应用程序访问,但不会被提交? 我发现这个线程使用gradle来存储密钥,但我需要提交build.gradle文件,所以它不会做这项工作。 有人知道如何解决这个问题吗? 我没有find类似的问题在计算器中,但也许我错过了一些东西 编辑我喜欢移动任何Java代码之外的密钥的想法,因为其他人(也许非技术人员)可以轻松地pipe理自己的密钥。 我正在考虑使用像settings.gradle这样的gradle文件。

UnsupportedMethodException Android Studio 0.8.9

我有Android Studio 0.8.9。 到现在为止,它可以成功与gradle文件同步,但今天当我打开它,它给了我这个错误: UnsupportedMethodException Failed to set up Android modules in project 'Project': Unsupported method: SourceProvider.getJniDirectories(). The version of Gradle you connect to does not support that method. To resolve the problem you can change/upgrade the target version of Gradle you connect to. Alternatively, you can ignore this exception and read other information from […]