Articles of gradle

Gradle上无法parsing符号MavenDeployment

我有一个应用程序和一个库支持的应用程序,一切都很好(我可以编译应用程序的库依赖项 而build.gradle文件总是有这个错误: Cannot resolve symbol MavenDeployment on gradle 有任何想法吗?

如何设置Android库模块,并在Android Studio中被多个项目引用?

我的公司在Android Studio上制作了几个Android项目,它们都共享一些类似的代码,比如自定义视图,自定义的HTTP客户端等等。 我面临的问题是,我是Android Studio的新手,我不确定如何将这些通用代码跨越多个项目提取到单个Android库模块,这些模块将被这些项目引用。 在Eclipse中,它非常简单,只需创build一个新的Android库项目,然后将代码移到那里,然后设置Android应用程序项目来引用公共库。 Android Studio如何完成这样的重构?

Android Studio旧版和新版OSX上的Gradle构build失败

当我在PC上工作时,我有一个成功的构build项目,并在迁移到OSX之前将其提交到我的Git repo。 现在,我在OSX上安装了Android Studio最新版本,并尝试构build相同的项目,并在构build资源时出现错误。 在build立Manifest资源的同时,它给出了多个错误 找不到与给定名称匹配的资源 为drawables和string。 在浏览网页时,我想也许更新版本的gradle有一些问题。 所以,我把AS的安装降级到AS 1.0,并使用旧的gradle 2.2。 不幸的是,这个版本的gradle也给出了同样的错误。 我的build.gradle如下所示: apply plugin: 'com.android.application' android { compileSdkVersion 21 buildToolsVersion "21.1.2" defaultConfig { applicationId "xxx" minSdkVersion 16 targetSdkVersion 21 versionCode 4 versionName "1.3" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } sourceSets { main { res.srcDirs = [ "/src/main/res" ] […]

如何dynamic地用Gradle从aar中排除文件?

我有Android库( aar ),包含(和构build模块时)构build本地代码: apply plugin: 'com.android.library' android { compileSdkVersion 16 buildToolsVersion "25.0.0" defaultConfig { minSdkVersion 11 targetSdkVersion 16 versionCode 1 versionName "1.0" ndk { abiFilters 'armeabi-v7a' } } externalNativeBuild { ndkBuild { path 'jni/Android.mk' } } sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] res.srcDirs = ['res'] jni.srcDirs = ['jni'] } } packagingOptions { […]

如何使用gradle-android-test-plugin

我想让Robolectric和Android Studio一起工作,并且在回顾这个[question] [2]的回答之后尝试使用[gradle–android-test-plugin] [1],但是没有运气。 我创build了一个全新的Android项目,并将其命名为MyApp。 我按照自述文件“用法”一节中的所有说明进行操作。 我还没有任何代码在我的新项目中进行testing,因此我将这些类(包括`RobolectricGradleTestRunner`)从 gradle-android-test-plugin/example/src/test/java/com/example 和 gradle-android-test-plugin/example/src/main/java/com/example 目录到我的新的MyApp项目中相应的文件path。 我从来没有实现Android的unit testing,我不知道接下来要做什么。 我成功地在插件的根目录下运行了./gradlew install ,但是在我的新项目的根目录下做同样的事情却什么都不做。 它引发了这个抱怨: Task 'install' is ambiguous in root project 'MyApp'. Candidates are: 'installDebug', 'installTest'. 我对Gradle一点都不熟悉,所以很less阅读Gradle本身的教科书,我不知道如何解决这个问题。 如果我input包含AndroidManifest.xml的MyApp目录并尝试执行../gradlew clean check来构build和运行testing, ../gradlew clean check出现以下错误: Could not determine the dependencies of task ':MyApp:testDebug'. Android Studio似乎没有任何问题find我的依赖关系。 请问有人能指点我的testing方向吗? 我想这是一个简单的terminal命令或插件的自述文件中没有提到的东西。 干杯! 编辑: 这是我的build.gradle 。 我知道它和插件中包含的示例项目在结构上不一样,但是这种结构给了我相同的错误。 buildscript { […]

为什么Gradle只包含来自我的库的具有项目依赖性的类

我正在构build一个依赖于自定义库的Android应用程序,当我使用项目依赖项时,Gradle只会包含我的自定义库,而不是当我使用文件依赖项来包含库的jar文件时。 我正在用API levee 19 SDK构build我的应用程序和库。 从build.gradle失败的dependencies部分: dependencies { compile 'com.android.support:appcompat-v7:+' compile files('libs/MyLibrary.jar') } 如果我使用上面的dependencies部分,没有任何MyLibrary.jar中的类包含在构buildapk文件中,通过提取其classes.dex和运行dexdump来validation。 我还validation了所有的类都存在于我正在使用的jar文件中。 如果我使用下面的dependencies部分,那么MyLibrary中的所有类都包含在apk文件中: dependencies { compile 'com.android.support:appcompat-v7:+' compile project(':MyLibrary') } 我使用的是Android Studio 0.4.0,Gradle 1.9,我认为Gradle插件0.7.1。 这里发生了什么? 我真的想build立我的应用程序的API级别18 sdk来testing兼容性,但我不能得到那个工作,除非我能够使用我的库的jar文件。

Gradle无法find参数的方法compile()

我有一个世界各地的全屏android工作室1.5.1应用程序,我添加了一个gradle / eclipse-mars子项目。 没有其他文件被修改,除了添加include::javalib到settings.gradle。 添加一个项目库依赖项 : project(':app') { dependencies { compile project(':javalib') // line 23 } } 到根构build构build文件并从命令行运行gradle,得到: 其中:构build文件“D:\ AndroidStudioProjects \ AndroidMain \ build.gradle”行:23 出了什么问题:评估根项目“AndroidMain”时出现问题。 无法在org.grad上find参数[project':javalib']的方法compile()le.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler_Decorated@46 3ca82f。 将Java插件添加到根构build文件没有帮助。 我不认为这是错误的地方 。 根项目和添加的子项目都有gradle包装器。 任何指针将不胜感激。 谢谢 编辑:为了澄清,根构build文件是: // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { jcenter() } dependencies […]

Android gradle uploadArchivesbuild设时

我有我的uploadArhives到Maven仓库.aar发布。 但是我必须gradlew uploadArhives从控制台运行gradlew uploadArhives ,如何使用每个构build或构build版本来调用代码? uploadArchives { repositories { mavenDeployer { def credentials = [ userName: NEXUS_USERNAME, password: NEXUS_PASSWORD ] repository(url: MAVEN_REPO_URL, authentication: credentials) pom.artifactId = 'aaa' pom.version = version pom.packaging = 'aar' pom.groupId = 'bbb' } } } 编辑 : 我想,我们可以定义函数: def uploadToMaven = { uploadArchives } 但是如何在每个构build中执行它?

如何查看Android Studio中由Gradle任务执行的CLI命令?

我正试图更好地了解Android Studio在构buildAndroid应用程序时幕后发生的情况。 我一直在阅读Gradle,但是我无法弄清楚的是如何查看Gradle调用的各个CLI命令和参数。 它似乎是抽象的,没有login到Gradle Console或Event Log 。 我最近看到Gradle里面发生了什么,是AOSP代码。 2.2.2来源: https://android.googlesource.com/platform/tools/base/+/gradle_2.2.2/build-system/gradle-core/src/main/java/com/android/build/gradle/tasks 目标 我希望能够看到由Android Studio中的Gradle任务生成的各个CLI命令。 用例示例 我想深入查看传统的Android构build过程。 这包括通过以下方面: 源代码/库代码 – > javac – > Java字节码(.class) – > proguard – >最小化字节码(.class) – > dex – > DEX字节码(.dex) 例如,我想看到由AndroidJavaCompile调用相应的javac命令。 https://android.googlesource.com/platform/tools/base/+/gradle_2.2.2/build-system/gradle-core/src/main/java/com/android/build/gradle/tasks/factory/AndroidJavaCompile。 java的 我担心要做到这一点的唯一方法是直接通过源代码,甚至直接从源代码构build。 尽职调查 我在Google,Android博客,Google I / O谈判,Android书籍等方面做了相当多的工作。 我一直无法find一个直接的答案。

Android工作室 – Gradle – GitHub回购

有没有人有一个想法,如果有可能使用github回购作为依赖,没有它被发布到maven中央。 比方说,我正在开发一个拥有自己的github回购的Android库。 我希望能够“编译”这个库有gradle依赖项,在我的android studio项目中,而不必发布到maven central(至less现在是这样)。 换句话说:我想使用一个不在Maven中心的依赖。 这是一个直的github回购(一个也使用gradle的android库)。 我想我的build.gradle做这样的事情: dependencies { // Google Play Services (normal dependency) compile "com.google.android.gms:play-services:5.2.08" // The library I want to pull from github compile "path_to_my_github_repo" } 谢谢!