Articles of gradle

指示Android Gradle脚本删除未对齐的apks并清除工件文件

我几天前开始使用Gradle构建系统并让脚本按照我的意愿工作,这里是: buildscript { repositories { mavenCentral() } } dependencies { classpath ‘com.android.tools.build:gradle:0.6.+’ } apply plugin: ‘com.android.application’ android { compileSdkVersion 17 buildToolsVersion ‘18.0.1’ productFlavors { flavor1 { packageName “flavor1” } flavor2 { packageName “flavor2” } flavor3 { packageName “flavor3” } } sourceSets { main { manifest.srcFile ‘AndroidManifest.xml’ java.srcDirs = [‘src’] resources.srcDirs = [‘src’] renderscript.srcDirs = [‘src’] […]

如何在Android应用程序中检查依赖项的大小?

我正在开发一个已经有许多依赖项的Android应用程序。 我想从较大的一个开始删除一些。 如何在应用程序中检查他们的大小?

Android Studio“未find任何测试”

有没有人能够在Android Studio中运行测试(从GUI而不是终端),我无法从GUI运行测试。 每次我尝试通过GUI运行测试时,我只会收到以下消息: 我可以使用以下命令从终端运行测试: ./gradlew connectedAndroidTest 我在Mac OSX上运行带有插件0.9.0的Gradle 1.11的 Android Studio 0.5.2 我的项目结构如下; MyProject/ src/ androidTest/ java/ com.myproject.app.test/ … (tests source code) … main/ java/ com.myproject.app/ … (source code) … res/ … (resources code) … build.gradle 我的build.gradle文件类似于以下内容: … android { compileSdkVersion 19 buildToolsVersion “19.0.1” defaultConfig { versionCode 12 versionName “2.0” minSdkVersion 9 targetSdkVersion 19 testPackageName […]

Android Studio中的Gradle:无法解析第三方库

我一直在尝试将我的项目从Intellij切换到Android Studio,这需要我创建一个build.gradle文件。 我知道我可以将每个作为库依赖项添加,但我理想的是希望能够使maven存储库依赖项工作。 每次我同步时,我的支持库都会很好地同步,但对于每个第三方库,我都会得到类似的结果 “错误:(30,13)无法解决:com.facebook.android:facebook-android-sdk:3.23.1” 对于每个图书馆。 buildscript { repositories { mavenCentral() } dependencies { classpath ‘com.android.tools.build:gradle:1.1.0’ } } apply plugin: ‘com.android.application’ dependencies { compile fileTree(dir: ‘libs’, include: ‘*.jar’) // Google Play Services compile ‘com.google.android.gms:play-services:6.5.87’ // Support Libraries compile ‘com.android.support:appcompat-v7:22.0.0’ compile ‘com.android.support:cardview-v7:21.0.3’ compile ‘com.android.support:gridlayout-v7:21.0.3’ compile ‘com.android.support:mediarouter-v7:21.0.3’ compile ‘com.android.support:palette-v7:21.0.3’ compile ‘com.android.support:recyclerview-v7:21.0.3’ compile ‘com.android.support:support-annotations:21.0.3’ compile ‘com.android.support:support-v13:21.0.3’ compile ‘com.android.support:support-v4:22.0.0’ […]

使用build.gradle更改的Android-Studio刷新项目

如何将我在build.gradle中所做的更改同步到项目结构中(例如,AndroidStudio正在识别我添加的lib?有点像maven项目的“重新导入所有maven项目” – 仅用于纯粹的gradle项目。

Android:强制gradle只包含一个版本的库

我在build.gradle使用’com.android.support:support-v4:23.3.0′ ,但在浏览外部库时,我看到两个版本的support-v4库(23.3.0和24.0.0)。 如何find哪个依赖项使用support-v4:24.0.0库? 如何强制gradle只添加版本23.3.0? 这是我在build.gradle中的依赖列表: dependencies { compile fileTree(dir: ‘libs’, include: [‘*.jar’]) compile ‘com.android.support:appcompat-v7:23.3.0’ compile ‘com.android.support:support-v4:23.3.0’ compile ‘com.android.support:design:23.3.0’ compile ‘com.android.support:recyclerview-v7:23.3.0’ compile ‘com.android.support:cardview-v7:23.3.0’ compile (‘com.nightonke:wowoviewpager:1.0.2’) { exclude group: ‘com.android.support’, module:’support-v4′ } compile (‘com.j256.ormlite:ormlite-android:5.0’){ exclude group: ‘com.android.support’, module:’support-v4′ } compile files(‘libs/picasso-2.5.2.jar’) compile files(‘libs/easyandroidanimationslibrary-v0.5.jar’) compile files(‘libs/apache-httpcomponents-httpclient.jar’) compile files(‘libs/apache-httpcomponents-httpcore.jar’) compile ‘co.ronash.android:pushe-base:1.2.0’ compile ‘com.google.android.gms:play-services-gcm:9.4.0’ compile(‘com.github.ozodrukh:CircularReveal:2.0.1@aar’) { transitive = true; } […]

如何将JAR依赖项包含到AAR库中

概要: 我有一个依赖于JAR文件的AAR文件,当我构建AAR项目时,它不包含JAR代码。 细节: 我有一个Java SDK库项目,其中包含我们用于Java Web项目的代码,这样,该库是使用Gradle创建的,并驻留在内部nexus服务器(作为JAR)中。 目标是通过多个Android应用程序可以使用的AAR库提供此JAR库的“Android配置”版本,并最大限度地减少实现它的工作量(和样板代码)。 此AAR文件也会上载到nexus服务器以供Android应用程序项目使用。 我的AAR项目包括我的Java SDK库(JAR)的gradle依赖项,但是在构建时,AAR不包含任何类。 码: 这是Java SDK项目的gradle文件: apply plugin: ‘java’ //noinspection GroovyUnusedAssignment sourceCompatibility = 1.7 version = ‘1.1.1’ repositories { mavenCentral() } jar { from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } } } dependencies { testCompile group: ‘junit’, name: ‘junit’, version: ‘4.11’ testCompile ‘org.apache.directory.studio:org.apache.commons.io:2.4’ compile ‘org.springframework:spring-web:3.1.1.RELEASE’ […]

找不到com.google.android.gms:play-services:7.0.0

我正在尝试更新使用GMS库的旧项目。 但是,Gradle同步无法刷新项目,给出标题中提到的错误。 这就是build.gradle的样子: project(“:android”) { apply plugin: “android” apply plugin: ‘com.android.application’ configurations { natives } dependencies { compile project(“:core”) compile “com.badlogicgames.gdx:gdx-backend-android:$gdxVersion” natives “com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-armeabi” natives “com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-armeabi-v7a” natives “com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-x86” compile “com.google.android.gms:play-services:7.0.0” } } 错误是: Error:Could not find com.google.android.gms:play-services:7.0.0. Searched in the following locations: file:/C:/Users/Harri/.m2/repository/com/google/android/gms/play-services/7.0.0/play-services-7.0.0.pom file:/C:/Users/Harri/.m2/repository/com/google/android/gms/play-services/7.0.0/play-services-7.0.0.jar https://repo1.maven.org/maven2/com/google/android/gms/play-services/7.0.0/play-services-7.0.0.pom https://repo1.maven.org/maven2/com/google/android/gms/play-services/7.0.0/play-services-7.0.0.jar https://oss.sonatype.org/content/repositories/snapshots/com/google/android/gms/play-services/7.0.0/play-services-7.0.0.pom https://oss.sonatype.org/content/repositories/snapshots/com/google/android/gms/play-services/7.0.0/play-services-7.0.0.jar https://oss.sonatype.org/content/repositories/releases/com/google/android/gms/play-services/7.0.0/play-services-7.0.0.pom https://oss.sonatype.org/content/repositories/releases/com/google/android/gms/play-services/7.0.0/play-services-7.0.0.jar Required by: CarGame-refresh:android:1.2 我已经在SDK管理器中安装并更新了所有必需的东西: 应该注意的是,这个项目最初是一个Eclipse项目,我刚刚导入Android Studio。 […]

为什么我仍然得到java.lang.NoClassDefFoundError:android.support.v7.appcompat.R $ attr?

因此,我正在开发一个俗气的应用程序,以便在我开始处理我公司的真实应用程序项目之前,在Android中训练自己的post。 我遇到了一个让我度过非常艰难时期的错误。 我得到了一个我要使用的库依赖项列表,并设置了我的build.gradle文件来加载它们。它同步很好,所以我认为这是我所知道的: dependencies { compile fileTree(dir: ‘libs’, include: [‘*.jar’]) compile ‘com.android.support:appcompat-v7:22.1.1’ compile ‘com.google.android.gms:play-services:7.3.0’ compile ‘com.squareup.okhttp:okhttp:2.3.0’ compile ‘com.squareup.retrofit:retrofit:1.7.0’ compile ‘com.google.code.gson:gson:2.3’ compile ‘com.squareup.dagger:dagger:1.2.2’ compile ‘com.squareup.dagger:dagger-compiler:1.2.2’ compile ‘com.squareup.picasso:picasso:2.5.2’ compile ‘com.android.support:recyclerview-v7:22.1.1’ compile ‘com.squareup:otto:1.3.7’ compile ‘com.path:android-priority-jobqueue:1.1.2’ compile ‘io.realm:realm-android:0.80.1’ compile ‘com.jakewharton:butterknife:6.1.0’ compile ‘com.android.support:multidex:1.0.0’ compile ‘com.android.support:appcompat-v7:22.1.1’ } 我实际上已经安装了android支持库和存储库: 然而,我仍然尝试启动应用程序并获得以下堆栈跟踪: java.lang.NoClassDefFoundError: android.support.v7.appcompat.R$attr at android.support.v7.app.AppCompatDelegateImplV7.ensureSubDecor(AppCompatDelegateImplV7.java:286) at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:246) at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:106) at com.anglersatalas.twitstagram.MainActivity.onCreate(MainActivity.java:23) at android.app.Activity.performCreate(Activity.java:5451) […]

如何在build.gradle中检索ADB的路径

我试图通过gradle task启动应用程序。 task runDebug(dependsOn: [‘installDebug’, ‘run’]) { } task run(type: Exec) { commandLine ‘adb’, ‘shell’, ‘am’, ‘start’, ‘-n’, ‘com.example.myexample/.ui.SplashScreenActivity’ } 但是这段代码不起作用,我得到错误: a problem occurred starting process ‘command ‘adb” 但是,当我明确指定adb的路径时,将启动应用程序。 task run(type: Exec) { commandLine ‘D:\\android\\android-studio\\sdk\\platform-tools\\adb’, ‘shell’, ‘am’, ‘start’, ‘-n’, ‘com.example.myexample/.ui.SplashScreenActivity’ } 那么我怎样才能得到一个包含路径的variables并将其传递给commandLine ?