Articles of gradle

Checkstyle自定义检查与gradle(android studio)

我目前正在将我的应用程序项目从基于Ant的Eclipse迁移到基于Gradle的Android Studio。 我的eclipse项目将自定义Checkstyle检查配置为自定义,然后自定义包包含在Checkstyle配置XML中。 我正面临将此自定义支票迁移到Android工作室的问题。 不确定我在哪里可以指示gradle拿起这个自定义包。 现在坚持这个问题几天了! 任何帮助真的很感激…… 目前运行到TreeWalker错误无法实例化自定义程序包: [错误] Unable to create a Checker: cannot initialize module TreeWalker – Unable to instantiate jp.myproject.tools.checkstyle.checks.naming.MemberNameCheck [CheckStyle的-packages.xml] [Checkstyle配置文件]

如何使用resValue?

我需要在build.gradle中计算整数值,然后在我的Java代码中使用它。 我试试: 的build.gradle: android { defaultConfig { resValue “int”, “MY_VAR_NAME”, “123” } } 值目录中的preprocess.xml: MY_VAR_NAME 我收到错误Cannot resolve symbol MY_VAR_NAME 。 如何使用它? 有手册吗?

缺少多模块项目中的顶级build.gradle

我错过了项目中的“顶级”项目build.gradle脚本: 我从一个非常复杂的Maven / Eclipse项目将它导入Android Studio,它基本上在目录的顶层创建了一个模块(“android”),并添加了所有子模块(“tappurwear”,“shared”等)进入原始模块的目录。 我知道这是一种混乱的结构,但是还有很多其他构建脚本,所以我不能真正将所有文件移动到一个合适的单独模块中。 所以现在我想知道,如何为整个项目添加顶级build.gradle脚本? 我见过的常见Android Studio项目只有一个,但它将我的顶级构建脚本视为“android”模块的构建脚本。 我可以创建一个新的build.script作为与其他模块共享设置的顶级项目脚本吗? 有没有办法可以重命名在Android Studio或Gradle中用于所有其他模块脚本的顶级构建脚本?

如何制作单个AAR文件,有一些其他AAR文件

你能帮我理解构建android库的一般概念,并在用户的应用程序中使用它。 所以,有以下情况: 在android studio中有以下模块: 核心 数据 画画 并且有一个模块 应用 依赖于上述模块。 app.gradle dependencies { compile project(‘:core’) compile project(‘:data’) compile project(‘:drawing’) } 所以我可以从Android Studio运行该应用程序。 但我希望有类似AAR文件的东西,并将其包含在任何应用程序中,以便能够再次使用它而无需创建相同的模块。 我对Gradle不是很熟悉,所以我不确定是否可能以及如何做到这一点。

Gradle Build Error – 在app:compileDebugJava gradle任务期间抛出NullPointerException

每次我尝试进行gradle构建时,我都会收到此错误消息。 我最近在此之前进行了构建,并且创建了应用程序而没有任何问题。 我没有对build.gradle文件进行任何更改。 是什么造成的? :app:preBuild …… :app:processDebugResources :app:generateDebugSources :app:compileDebugJava FAILED Error:Execution failed for task ‘:app:compileDebugJava’. > java.lang.NullPointerException 我使用的是Android Studio 0.8.1版 这是gradle stacktrace: * Exception is: org.gradle.api.tasks.TaskExecutionException: Execution failed for task ‘:app:compileDebugJava’. at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46) at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35) at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64) at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58) at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:42) at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52) at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53) at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43) at org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailure(AbstractTask.java:289) at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.executeTask(AbstractTaskPlanExecutor.java:79) at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:63) […]

如何添加到cordova中的settings.gradle

这是我要回答的新问题,看看他是否find答案 当您运行“ cordova build android ”时,Cordova正在生成一个新的settings.gradle文件。我尝试使用脚本在_prepare before_compile之后使用钩子修改此文件。 但无论我做什么,这个文件都会重新创建。 有人解决了这个问题吗? 是否有另一种方法将模块添加到android项目? 除了使用settings.gradle 我对Java或Gradle几乎一无所知,所以任何现场都会很棒。

gradle如何处理具有不同支持库v4版本的多个模块?

我有一个Android项目,它依赖于不同的模块,每个模块依赖于android support-v4库的不同版本 1)我的应用程序还依赖于最新的android support-v4库(修订版21)所以在这个build.gralde中我放了一行: dependencies { compile ‘com.android.support:support-v4:21.0.0’ } 2)Facebook SDK(v.3.15)模块也依赖于android支持库v4,但是版本13及其build.gradle文件说: dependencies { compile ‘com.android.support:support-v4:13.0.+’ compile files(‘../libs/bolts.jar’) } 3)还有一个模块,在这种情况下我们可以调用Module3,也取决于support-v4,但是与其他模块的修订版本不同,如下所示: dependencies { compile ‘com.android.support:support-v4:19.0.+’ compile files(‘../libs/bolts.jar’) } 问题: 1)gradle如何处理不同的support-v4库修订版? 2)它究竟做了什么? 3)就apk大小而言,它是什么意思?

libGDX设置允许我使用在Android中崩溃的Java 8

我是java / android的新手,所以我希望这是一个很容易解决的问题。 我已经使用libGDX的设置创建了一个项目,然后我将其导入Android Studio。 我不知道Supplier界面只适用于Java 8,并在核心模块中使用它,据我所知,它编译成一个由所有android / html / desktop / ios版本共享的库。游戏。 桌面版本运行正常(我安装了Java 8),但我的Android应用程序崩溃时出现NoClassDefFoundError错误(顺便说一句,错误消息显示我写的类的名称,而不是Supplier ,但错误消失后我就立即消失了删除了对Supplier每个引用,并在我添加它们时返回,所以显然错误消息没有显示实际的问题类)。 如果我尝试在我的android模块中使用Supplier ,它甚至不会让我导入该类,因此它知道它不支持该Java版本,但它很高兴让我在核心模块中使用它而没有任何警告。 我确定删除对Supplier引用将解决问题,但如果我无意中使用任何Java 8function,此修复可能会导致运行时错误,因此不是解决问题的好方法。 我不知道项目在哪里设置使用Java 8,似乎有一堆.gradle,.xml和.iml文件显然都与配置有关。 这是核心模块中的build.gradle文件: apply plugin: “java” sourceCompatibility = 1.6 [compileJava, compileTestJava]*.options*.encoding = ‘UTF-8’ sourceSets.main.java.srcDirs = [ “src/” ] eclipse.project { name = appName + “-core” } Android工作室显示sourceCompatibility = 1.6行变灰并且当我将鼠标hover在其上时显示“未使用分配”。 所以这可能是问题的一部分。 我的core.iml文件也包含这一行: 此外,这是根build.gradle文件中的core部分: project(“:core”) { apply […]

Android gradle runtimeClasspath等价物

gradle java插件有一个FileCollection属性,它包含运行时类 – sourcesets.main.runtimeClasspath 。 com.android.application插件中是否有等价物?

在我的项目中构建和重用android开源Dialer源代码

我必须将android opensource Dialer源代码集成到我的应用程序中,并且还需要对其进行自定义。 目前我从https://android.googlesource.com/platform/packages/apps/Dialer/克隆了Dialer源代码 它似乎不是一个gradle项目。 我该如何建立这个项目? 我需要在项目中将整个项目添加为可重用模块 。 你能帮帮我吗? 我怎么能从这开始呢? 这个答案看起来非常有用, https://stackoverflow.com/a/8668334/3020568但我需要从试图构建此类应用程序的人那里获得更多帮助。 我们尝试了以下步骤。 检查了google source的源代码。 试图在Android Studio中导入项目。 它具有项目之外的无法解析的依赖项。 – 某些类和方法在源代码中没有引用。 提前致谢。