Articles of android gradle

Android Espresso问题 – 依赖冲突

我正在尝试将espresso集成到我的ui测试应用程序中。 这是我在Gradle中的依赖项 dependencies { compile fileTree(dir: ‘libs’, include: [‘*.jar’]) compile ‘com.android.support:appcompat-v7:22.2.0’ compile ‘com.android.support:design:22.2.1’ compile ‘com.github.bumptech.glide:okhttp-integration:1.3.1@aar’ compile ‘com.squareup.okhttp:okhttp:2.0.0’ compile ‘de.hdodenhof:circleimageview:1.3.0’ compile ‘com.android.support:cardview-v7:21.+’ compile ‘com.android.support:recyclerview-v7:21.+’ androidTestCompile ‘com.android.support.test.espresso:espresso-core:2.2’ androidTestCompile ‘com.android.support.test.espresso:espresso-contrib:2.2’ compile ‘com.android.support:support-annotations:22.2.0’ androidTestCompile ‘com.android.support.test:runner:0.3’ compile project(‘:common’) compile project(‘:service’) } 所以我的espresso依赖项都包括在内。 但是,当我尝试构建时,我收到此错误: Warning:Conflict with dependency ‘com.android.support:support-annotations’. Resolved versions for app (22.2.1) and test app (22.2.0) differ. 有没有人遇到过这个? 我发现它在这里报道但是没有解决方案。 有人有解决方法吗?

一种在多个android测试模块之间共享代码的方法

我希望实现这样的目标: [ComponentTestsModule] com.android.test [FunctionalTestsModule] com.android.test both depends on -> [TestLibraryModule] ? which depends on -> [AppModule] com.android.application 用android gradle插件3.0+有没有办法做到这一点? 为什么我需要多个测试模块? 我想要不同types的测试的不同测试运行器,也针对不同的变体。 它现在正在使用androidTest下的单个代码库,但在自定义测试运行器中有丑陋的开关。 为什么我需要一个测试库模块? 我想在不同types的测试之间共享相同的页面对象,也许是一些实用程序代码。 问题是:页面对象必须能够访问R类应用程序(定位器:R.id。*) 我所知道的模块types都不能依赖于APK生成模块,期望来自com.android.test ,但我不能依赖com.android.test与另一个com.android.test 。

Android studio / Gradle构建在发布时失败:无法确定任务’:app:crashlyticsStoreDeobsRelease’的依赖关系

构建仅在发布时失败,调试构建正常。 Android studio 1.4,Gradle 2.8 RC1,Gradle插件1.4.0 BETA 4 FAILURE: Build failed with an exception. * Exception is: org.gradle.api.GradleException: Could not determine the dependencies of task ‘:app:crashlyticsStoreDeobsRelease’. … Error:org.gradle.api.UnknownTaskException: Task with path ‘dexRelease’ not found in project ‘:app’.

android – 任务执行失败’:app:compileDebugJavaWithJavac’

Android Studio + Gradle新手。 我正在尝试使用以下命令从命令行运行我的应用程序: gradlew installDebug 只有当我刚打开Studio并执行初始同步/构建操作时执行该命令时,应用程序才会安装在我的设备上。 每当我修改我的代码,并尝试再次运行该命令时,构建失败并显示以下错误: Execution failed for task ‘:app:compileDebugJavaWithJavac’ > Could not find tools.jar 我该如何解决这个问题? 提前致谢。

Android studio在真实设备上运行应用程序后添加了不必要的权限

在设备应用程序上运行应用程序后,需要在清单文件中未提及的不需要的位置权限 当我从我的朋友Android工作室运行相同的代码而不是运行正常时,无需额外的权限。 清单文件 的build.gradle apply plugin: ‘com.android.application’ android { compileSdkVersion 21 buildToolsVersion “21.1.2” defaultConfig { applicationId “xxxxxxx” minSdkVersion 14 targetSdkVersion 21 // Enabling multidex support. multiDexEnabled true } dexOptions { javaMaxHeapSize “4g” } packagingOptions { exclude ‘META-INF/LICENSE.txt’ exclude ‘META-INF/NOTICE.txt’ exclude ‘META-INF/LICENSE’ exclude ‘META-INF/NOTICE’ } lintOptions{ abortOnError false } } repositories { mavenCentral() } dependencies { […]

Gradle:查找使用+导入的依赖项的已解析版本

我想在gradle中打印dependency的最后一个版本。 我以这种方式添加了我的依赖: compile ‘test:test:+’ 现在我想打印我的依赖版本,因为我想知道我正在使用哪个版本。 我用这种方式使用它: gradle dependencyInsight –configuration compile –dependency test:test 但我的输出是这样的: +— test:test:+ -> project : (*) 无论如何我可以得到我的依赖的真实版本而不是+ ?

build.gradle中的新applicationId如何工作?

谷歌发布了Android Gradle插件的0.11版本。 发行说明包含以下内容: 0.11中用户可见的更改之一是我们已经弃用了packageName和packageNameSuffix设置,并将它们重命名为applicationId和applicationIdSuffix。 这样做的目的是清楚地表明这个应用程序id与清单中的包声明分离,特别是R类和BuildConfig类,以及应用程序中的所有实现类,可以自由地重命名和重构; 你只需要保持applicationId相同。 如果您打开build.gradle文件,lint会突出显示这些已弃用的调用并提供更新它们的快速修正: 这到底是什么意思。 如何将构建脚本中的packagename与清单中的packagename分离?

如何在build.gradle中获取资源值?

resValue方法(或其任何名称)允许您在buildTypes或productFlavors 设置资源值。 是否有相应的方法来获取 resValue设置的资源值? 看来productFlavors在buildTypes之前被评估,因此在resValue设置的buildTypes优先。 我想在调试版本中将“Debug”附加到应用程序名称,但是我需要获取在产品flavor中设置的值以便附加到它。 编辑:我尝试使用MarcinKoziński建议使用variables,但所有产品口味都在任何构建types之前进行评估。 因此,这不起作用: android { String appName = “” productFlavors { Foo { appName = “Foo” } Bar { appName = “Bar” } } buildTypes { release { resValue “string”, “app_name”, appName } debug { resValue “string”, “app_name”, appName + ” Debug” } } } 在buildTypes , appName始终具有上一个产品flavor的值。 因此,在此示例中,所有构建都接收名称”Bar”或”Bar Debug” […]

Android Studio 1.0.2新项目 – 无法解析符号’ActionBarActivity’

我很困惑。 今天我刚刚重新安装了Android Studio版本1.0.2(以及Android SDK),因为我在创建新项目时遇到了一些问题。 我希望我可以通过重新安装所有东西来解决它们,但实际上问题仍然存在,我不知道如何解决它。 在Android Studio中创建一个新项目并切换到我的MainActivity后(我没有更改其中一个文件中的任何内容),我总是会在文件中显示以下错误。 MainActivity.class: package com.android.testapplication; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; public class MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_main, […]

Android Gradle build:重命名apk

如何调整build.gradle以更改apk的最终基本名称? (不更改默认后缀)