Tag: gradle

Android gradle构build和支持库

我有一个项目,使用一些其他库项目(SlidingMenu,ActionbarSherlock),这些都使用Android支持库,build设时,我得到以下几点: UNEXPECTED TOP-LEVEL EXCEPTION: java.lang.IllegalArgumentException: already added: Landroid/support/v4/app/LoaderManager; at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:123) at com.android.dx.dex.file.DexFile.add(DexFile.java:163) at com.android.dx.command.dexer.Main.processClass(Main.java:490) at com.android.dx.command.dexer.Main.processFileBytes(Main.java:459) at com.android.dx.command.dexer.Main.access$400(Main.java:67) at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:398) at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:245) at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:131) at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:109) at com.android.dx.command.dexer.Main.processOne(Main.java:422) at com.android.dx.command.dexer.Main.processAllFiles(Main.java:333) at com.android.dx.command.dexer.Main.run(Main.java:209) at com.android.dx.command.dexer.Main.main(Main.java:174) at com.android.dx.command.Main.main(Main.java:91) 这两个库项目都依赖于支持lib: dependencies { compile files('libs/android-support-v4.jar') }

Gradle构buildnull控制台对象

我试图让我的gradle构build提示在控制台input密码使用堆栈溢出的例子 当我有一个表述如: def password = System.console().readLine("Enter keystore password ") 当我跑我得到错误 Cannot invoke method readLine() on null object 看来控制台是null出来。 我读过这个需要java 6,如果我去命令提示符并键入java -version我正在运行Java(TM)SE运行时环境(内部版本1.6.0_27-b07)。 这个问题正在Gradle的Github库中进行跟踪: 无法将System.console()与Gradle守护程序一起使用 。

Android-Studio从0.1.9升级到0.2.0,现在造成了gradle build错误

我现在的项目是用Gradle构build的,因为我在创buildAndroid Studio之后(大约一个月前)创build了它。 [我安装了一些较早的更新到Android-Studio,并没有问题。] 但是,今天,在我将Android-Studio的最新更新升级到“7.11”版本(从0.1.9版本到0.2.0版本)之后,我的项目开始抱怨Gradle现在需要至less为0.5.0。 (我的项目是要求Gradle 0.4,这个新的Studio升级标记了我的Gradle构build,并表示现在需要这个新的更高的Gradle最小值。 所以,我不清楚的是:我一直假设Gradle是Android Studio的一部分(捆绑在一起)。 我现在需要得到一个更新的Gradle,作为一个单独的产品/更新? 我很困惑!!! 编辑:(这是在Windows 7下发生的)。

如何使用Android gradle插件0.10.0或更高版本获得jacoco覆盖率报告?

我正在尝试使用Gradle Android插件0.10.2来获得testing覆盖率报告。 但是运行一些testing后我仍然无法获得覆盖报告。 (connectedAndroidTest)。 我的主要模块的build.gradle是: apply plugin: 'android' android { compileSdkVersion 19 buildToolsVersion "19.0.3" defaultConfig { minSdkVersion 8 targetSdkVersion 19 versionCode 1 versionName "1.0" } buildTypes { debug { testCoverageEnabled true } release { runProguard false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:19.+' } 而项目构buildgradle的buildscript部分是: buildscript { […]

在android中自定义linting lib

我和我的团队开发Android应用程序,并决定所有应遵循的编码准则。 因此,我按照以下链接开始实施自定义lint规则: post由马特·康普顿写 Git Repo 我遇到的问题实际上是在项目基础上实施这些lint规则。 当我运行./gradlew clean build test install ,按照规定应用规则,一切正常。 但是,当我用./gradlew aarWrapper:assemblebuild立aar库时./gradlew aarWrapper:assemble将其./gradlew aarWrapper:assemble并添加到我的libs文件夹中,linting不起作用。 我添加了以下内容到我的build.gradle文件来添加库 repositories { flatDir { dirs 'libs' } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile(name: 'aarWrapper-debug', ext: 'aar') } 我不知道我错过了什么,但是当我运行./gradlew lint它运行./gradlew lint ,但不是我的自定义规则…任何帮助,提示或build议,非常感激。 编辑1 这是运行gradle时的terminal输出。 :app:preBuild UP-TO-DATE :app:preDebugBuild UP-TO-DATE :app:checkDebugManifest :app:preReleaseBuild UP-TO-DATE :app:prepareAarWrapperDebugLibrary UP-TO-DATE :app:prepareComAndroidSupportAnimatedVectorDrawable2421Library UP-TO-DATE :app:prepareComAndroidSupportAppcompatV72421Library […]

Gradle compileJava任务警告: bootstrap类path没有与-source 1.6一起设置

以下是build.gradle文件的内容: apply plugin: 'java' archivesBaseName = 'foo-bar' version = '1.0' sourceCompatibility = JavaVersion.VERSION_1_6 targetCompatibility = JavaVersion.VERSION_1_6 sourceSets.main.resources.exclude 'foo.jks' compileJava{ println project.sourceCompatibility println project.targetCompatibility println sourceCompatibility println targetCompatibility } 下面是运行Gradle jar任务的结果: [sts] —————————————————– [sts] Starting Gradle build for the following tasks: [sts] :jar [sts] —————————————————– 1.6 1.6 1.6 1.6 :compileJavawarning: [options] bootstrap class path not set […]

build设者与Gradle,优点和缺点?

有人使用Buildr和Gradle,并可以比较这个构build工具。 从第一眼看,他们非常相似。 但是select什么。 同时也很高兴听到有关Scala支持和各种IDE集成(IDEA,NetBeans,Eclipse)的信息。 谢谢。

用Gradle创build一个Groovy可执行JAR

这是我的gradle构build脚本。 apply plugin: 'groovy' project.group = "test.tree" archivesBaseName = "tree" project.version = "1.0" manifest.mainAttributes("Main-Class" : "test.tree.App") sourceCompatibility=1.6 targetCompatibility=1.6 repositories { mavenCentral() } dependencies { groovy group: 'org.codehaus.groovy', name: 'groovy', version: '1.8.6' testCompile group: 'junit', name: 'junit', version: '4.8.2' } 这个编译就好了 问题是我不能运行创build的JAR,我得到一个exceptionjava.lang.NoClassDefFoundError: groovy/lang/GroovyObject 所以我猜groovy插件不包括JAR里面的所有必需的类。 如何创build一个独立的JAR,我可以简单地运行;-)

无法使用Android Studio – Gradle 1.7构buildAndroid项目

Gradle和Android Studio有很多问题。 在项目中的任何资源进行更改可以在编译过程中随机提供一个exception,这是我在Android Studio中看到的: Gradle: Error while executing aapt command Gradle: Execution failed for task ':App Code:processReleaseResources'. 这是我看到手动执行Gradle: "/Applications/Android Studio.app/sdk/tools/templates/gradle/wrapper/gradlew" asD Relying on packaging to define the extension of the main artifact has been deprecated and is scheduled to be removed in Gradle 2.0 :App Code:preBuild UP-TO-DATE :App Code:preDebugBuild UP-TO-DATE :App Code:preReleaseBuild UP-TO-DATE :libraries:facebook:compileLint :libraries:facebook:copyReleaseLint […]

在android应用程序中获取产品风味或构build变体

我有一个Android应用程序,在我的build.gradle文件中configuration了许多不同的产品口味 productFlavors { someFlavor {} anotherFlavor {} } 在我的应用程序代码中,我希望能够获得当前编译的风格(或构build变体)的名称。 一个解决scheme是: productFlavors { someFlavor { buildConfig "public static final String PRODUCT_FLAVOR = \"someFlavor\";" } anotherFlavor { buildConfig "public static final String PRODUCT_FLAVOR = \"anotherFlavor\";" } } 然后在我的Android应用程序调用BuildConfig.PRODUCT_FLAVOR 。 有什么方法可以让gradle自动执行此操作吗? 或者是有一些其他的API我可以用来获取产品风味名称?