Articles of gradle

Android Gradle中每个风味的代码路径

我有2个buildTypes(调试,发布)和2个productFlavors(product1,product2)。 我想为每个buildType和productFlavors定义一个buildConfigField。 buildConfigField是从服务器下载数据的应用程序的URL,它会针对每个productFlavor和buildTypes进行更改。 我现在有: buildTypes { debug { debuggable true } release { debuggable false } } productFlavors { product1 { buildConfigField STRING, “URL_BASE”, ‘”https://api1.release.com”‘ } product2 { buildConfigField STRING, “URL_BASE”, ‘”https://api2.release.com”‘ } } 但我想要这样的事情: buildTypes { debug { debuggable true } release { debuggable false } } productFlavors { product1 { debug { buildConfigField […]

Android:如何在Android Studio中更改生成的apk文件的特定名称?

默认情况下,IDE会像app-debug.apk或app-release.apk文件一样创建apk,但我需要生成App的Apk的特定名称。 例如:我的应用程序名称是iPlanter,因此我需要分别生成iPlanter-debug.apk或iPlanter-release.apk而不是app-debug.apk或app-release.apk 。 谢谢,

仅在运行测试时出现DexIndexOverflowException

我可以在调试和发布变体中成功构建和运行我的Android应用程序,没有任何问题。 然而,当我尝试运行我的新unit testing(之前从未有过它)时,我得到了可怕的DexIndexOverflowException 。 我怀疑ProGuard没有运行我的unit testing,但它是我正常的调试和发布buildTypes。 在unit testing运行配置中运行ProGuard需要做什么? 我搜索了Gradle文档, ProGuard文档和Android Studio文档来解决这个问题但我一无所获。

将项目升级到Android Studio 1.0(Gradle问题)

刚开始我对android开发/ android studio / gradle很新,请原谅我,如果我问一个愚蠢的问题。 我的团队一直在研究android studio测试版的项目,我刚刚安装了新版本(1.0),我从github远程仓库导入了我们的项目。 尝试使用gradle同步项目时,我收到错误:需要Gradle version 2.1 is required. Current version is 2.2.1. Gradle version 2.1 is required. Current version is 2.2.1. 它建议我在gradle-2.1中更改distributionUrl,但是当我这样做时,我得到gradle插件需要2.2.1的错误。 问题是为什么我的项目需要2.1,我可以在哪里更改? 这是我的gradle.build: apply plugin: ‘com.android.application’ android { compileSdkVersion 21 buildToolsVersion “21.1.0” defaultConfig { applicationId “com..” minSdkVersion 14 targetSdkVersion 21 versionCode 1 versionName “1.0” } buildTypes { release { runProguard […]

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

尝试编译和调试我正在处理的Android应用程序会导致以下错误: * What went wrong: A problem occurred configuring project ‘:app’. > Could not resolve all dependencies for configuration ‘:app:_prodDebugStagingCompile’. > Could not find com.google.android.gms:play-services-analytics:8.1.0. Searched in the following locations: https://repo1.maven.org/maven2/com/google/android/gms/play-services-analytics/8.1.0/play-services-analytics-8.1.0.pom https://repo1.maven.org/maven2/com/google/android/gms/play-services-analytics/8.1.0/play-services-analytics-8.1.0.jar https://jcenter.bintray.com/com/google/android/gms/play-services-analytics/8.1.0/play-services-analytics-8.1.0.pom https://jcenter.bintray.com/com/google/android/gms/play-services-analytics/8.1.0/play-services-analytics-8.1.0.jar … 这些来源是否已关闭或已过期?

无法find属性android:font for v7 support

我一直在开发一款Linphone应用程序,但却陷入了困境。 我已经更改了应用名称并重构了所有相关包。 应用程序没问题,直到我将gradle升级到3.0.0。 AGPBI: {“kind”:”error”,”text”:”error: resource android:attr/fontStyle not found.”,”sources”:[{“file”:”~/.gradle/caches/transforms-1/files-1.1/support-compat-27.0.0.aar/61646c6d4479aff22f7047873e2edd7d/res/values/values.xml”,”position”:{“startLine”:20,”startColumn”:4,”startOffset”:1254,”endColumn”:69,”endOffset”:1319}}],”original”:””,”tool”:”AAPT”} AGPBI: {“kind”:”error”,”text”:”error: resource android:attr/font not found.”,”sources”:[{“file”:”~/.gradle/caches/transforms-1/files-1.1/support-compat-27.0.0.aar/61646c6d4479aff22f7047873e2edd7d/res/values/values.xml”,”position”:{“startLine”:20,”startColumn”:4,”startOffset”:1254,”endColumn”:69,”endOffset”:1319}}],”original”:””,”tool”:”AAPT”} AGPBI: {“kind”:”error”,”text”:”error: resource android:attr/fontWeight not found.”,”sources”:[{“file”:”~/.gradle/caches/transforms-1/files-1.1/support-compat-27.0.0.aar/61646c6d4479aff22f7047873e2edd7d/res/values/values.xml”,”position”:{“startLine”:20,”startColumn”:4,”startOffset”:1254,”endColumn”:69,”endOffset”:1319}}],”original”:””,”tool”:”AAPT”} ~/app-name/bin/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml:149: error: resource android:attr/fontStyle not found. ~/appname/bin/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml:149: error: resource android:attr/font not found. ~/appname/bin/intermediates/incremental/mergeDebugResources/merged.dir/values/values.xml:149: error: resource android:attr/fontWeight not found. error: failed linking references. 我已经阅读了有关无法find属性错误但无法find答案的其他问题。 我尝试了下面的方法,但没有一个工作: 删除应用程序的bin /目录 清理缓存并再次重建应用程序 使缓存无效并重新启动(其中的每个选项) 更改sdk版本(api) multiDexEnabled是/否 以下是日志的详细信息: Failed to execute […]

Android apk – 如何使用gradle从第三方依赖项中排除.so文件

我有一个有几个依赖项的android项目。 其中两个(让我们称之为依赖关系A和B)具有本机库(.so文件)。 依赖关系A具有以下体系结构:arm64-v8a,armeabi,armeabi-v7a,x86和x86_64。 依赖关系B具有以下体系结构:armeabi,x86 因此,当我的应用程序在armeabi-v7a设备(例如)上运行,并且依赖关系B调用本机方法时,它无法find相关的库来获取它(因为它不存在于armeabi-v7a文件夹中而且不会回退自动到armeabi图书馆所在的地方)。 有什么方法可以解决这个问题吗? 例如,我可以在build.gradle文件中添加一些配置,以便arm64-v8a,armeabi-v7a和x86_64文件夹不能集成到我的最终apk中吗? 我尝试过packagingOptions / exclude,但没有结果:问题中的文件夹仍然存在。

无法使用Gradle将ViewPagerIndicator添加到应用程序

我正在尝试将Jack Whartons ViewPagerIndicator库https://github.com/JakeWharton/ViewPagerIndicator添加到我的应用程序中,因为我想使用我拥有的viewpager的圆形指示器。 但是我无法将其添加到我的应用程序。 我已经按照本教程 – 在Android Studio和Gradle中使用ViewPagerIndicator库 但是我收到了这个错误 Error:Artifact ‘library.aar (com.viewpagerindicator:library:2.4.1)’ not found. Searched in the following locations: https://jcenter.bintray.com/com/viewpagerindicator/library/2.4.1/library-2.4.1.aar 如果我删除我的jCenter()中的jCenter()代码然后它可以工作但我包含的其他依赖项没有,所以我不知道如何让所有依赖项一起工作。 这是我的顶级gradle文件 // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { jcenter() maven { url “http://dl.bintray.com/populov/maven” } mavenCentral() } dependencies { classpath ‘com.android.tools.build:gradle:1.0.1’ // NOTE: Do […]

如何在IntelliJ IDEA中调试Android Gradle项目的特定构建变体?

如果我创建Android Application调试配置并将使用它,那么一切正常,默认情况下IntelliJ IDEA使用build.gradle中的debug构建types。 但我想调试特定的构建变体(flavor和buildtypes)。 例如,flavor名称是Cabby ,如果是mock Cabby buildtypes。 我创建这样的调试配置: 然后我开始调试这个配置。 Gradle任务assembleCabbyMock和installCabbyMock成功执行,然后我看到:

无法将AndEngine添加到Android Studio

我试图将AndEngine添加到Android Studio差不多2天但无法这样做。 我尝试了以下两种方法,但都没有奏效。 第一次尝试我从GitHub链接下载AndEngine代码 – 这不是Gradle项目 并尝试将其添加到我的Android Studio build.gradle和settings.gradle,但我得到此错误,我的屏幕截图: https ://postimg.cc/image/5mcvpvsar/(我想我收到此错误,因为AndEngine不是一个gradle项目 – 如何使它成为一个重点项目??) 第二次尝试我也尝试在/ libs文件夹中添加andengine.jar(我刚刚用google搜索的文件)并右键单击 – >“添加为库”但仍然无法执行“import org.andengine ….”在我的项目文件中。 在线提供的所有教程都在Eclipse中,我使用的是Android Studio。 我甚至无法开始。 更新 :是的,我放弃了使用Android Studio for AndEngine! 花了15分钟在Eclipse中做到这一点,相比之下不成功的周末(我永远不会回来!)我花在了Android Studio上