Articles of gradle

Gradle中的多个maven存储库

我有以下build.gradle: buildscript { repositories { maven { url ‘https://maven.fabric.io/public’ } maven { url “https://dl.bintray.com/fyber/maven” } maven { url “https://dl.bintray.com/supersonic/android-sdk” } } dependencies { classpath ‘io.fabric.tools:gradle:1.19.1’ } } apply plugin: ‘com.android.application’ apply plugin: ‘io.fabric’ apply plugin: ‘com.google.gms.google-services’ dependencies { // Ads compile ‘com.supersonic.sdk:mediationsdk:6.1.0@jar’ } 我收到这个错误: 错误:(88,13)无法解决:com.supersonic.sdk:mediationsdk:6.2.0 我已检查存储库中是否存在该库。 为什么我收到此错误?

build.gradle文件中的compileKotlin块抛出错误“找不到参数的方法compileKotlin()”

我正在尝试将Kotlin配置为在我的Android项目中使用Java 1.8。 我已经尝试在build.gradle文件的底部添加compileKotlin块,但如果我这样做,我会收到错误。 发生的错误如下: 错误:(38,0)无法在types为org.gradle.api.Project的项目’:core’上find参数[build_dvcqiof5pov8xt8flfud06cm3 $ _run_closure4 @ 66047120]的方法compileKotlin()。 没有这个块,项目运行良好。 我错过了什么? 这是完整的build.gradle文件,它是非常基本的东西: apply plugin: ‘com.android.library’ apply plugin: ‘kotlin-android’ android { compileSdkVersion 25 buildToolsVersion ‘25.0.2’ defaultConfig { minSdkVersion 24 targetSdkVersion 25 versionCode 1 versionName ‘1.0.0’ testInstrumentationRunner ‘android.support.test.runner.AndroidJUnitRunner’ } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ } } } dependencies { compile ‘com.android.support:appcompat-v7:25.3.1’ compile “org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version” […]

crashlytics android studio gradle build失败

我已经安装了crashlytics插件到android studio 0.9.3; 在此之后我加入了我的项目; 它增加了线条,第一活动等……; 此构建失败后出现此错误: 错误:任务’:app:fabricCleanupResourcesDebug’的执行失败。 Crashlytics开发人员工具错误。 这是我的gradle文件,我应该更改什么? Crashlytics自动添加了它的行: buildscript { repositories { maven { url ‘https://maven.fabric.io/public’ } } dependencies { classpath ‘io.fabric.tools:gradle:1.+’ } } apply plugin : ‘com.android.application’ apply plugin : ‘io.fabric’ repositories { maven { url ‘https://maven.fabric.io/public’ } } android { compileSdkVersion 21 buildToolsVersion “21.0.2” defaultConfig { applicationId “XXXXXXXXXXXXXXXXXXXXXXX” minSdkVersion 11 targetSdkVersion […]

在Gradle中,如何在控制台/事件日志中打印消息?

我正在尝试validation在执行deploy命令时我的源路径和目标路径是否正确设置。 请参阅以下示例: (复制自: http : //eppz.eu/blog/unity-android-plugin-tutorial-2/ ) android.libraryVariants.all { variant -> // Task names. String variantName = “${variant.name.capitalize()}”; // Like ‘Debug’ String deployTaskGroup = “plugin”; String deployTaskName = “deploy${variantName}PluginArchive”; // Like ‘deployDebugPluginArchive’ String dependencyTaskName = “assemble${variantName}”; // Like ‘assembleDebug’ // Source. String sourceAARFolder = “${buildDir.getPath()}/outputs/aar/”; String sourceAARName = “${project.name}-${variant.name}.aar”; // Target. String targetAssetFolder = “Assets/Plugins/My […]

android studio java.lang.NoClassDefFoundError Gson

我做了一个很新的项目。 我在gson库中通过google添加到我的projects /libs目录并将其添加为库。 我还将它添加到我的build.gradle中 compile files(‘libs/gson-2.2.4.jar’) 所以现在一切看起来都不错,Android Studio没有任何错误,任何地方都没有红色下划线。 我可以建立它并试一试。 但后来我遇到了这个错误: java.lang.NoClassDefFoundError: com.google.gson.Gson 我可以在调试器中看到。 事情是我已经添加它并且android studio可以看到但是来构建它给了我所有这些types的问题。 我究竟做错了什么?

使用gradle构建Cordova项目时覆盖Java版本

我正在尝试使用gradle作为构建工具来构建Cordova项目。 在Cordova项目中,我有自己的插件,需要Java 1.7。 在Cordova附带的build.gradle中,java版本是1.6。 的build.gradle: android { compileOptions { sourceCompatibility JavaVersion.VERSION_1_6 targetCompatibility JavaVersion.VERSION_1_6 } } build.gradle有一个很大的警告,说它是一个不应该编辑的生成文件,自定义gradle构建步骤的方法是 – 据我所知 – 创建build-extras.gradle文件。 我创建了一个build-extras.gradle文件,并尝试了以下内容: android { compileOptions { sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_7 } } 但它似乎没有用。 我构建项目时仍然出错。 错误: > strings in switch are not supported in -source 1.6 > switch (action) { > ^ (use -source 7 or higher […]

如何确定Google Play服务的版本?

我正在从Eclipse迁移到Android Studio。 我有一个项目,我导入Android Studio使用Google Play服务,所以我按照我在此处find的文档: http : //developer.android.com/google/play-services/setup.html此文档说我需要编辑我的build.gradle文件。 他们给出了一个例子: apply plugin: ‘com.android.application’ … dependencies { compile ‘com.android.support:appcompat-v7:21.0.3’ compile ‘com.google.android.gms:play-services:6.5.87’ } 此外,文档还提到“每次更新Google Play服务时,请务必更新此版本号。”,我在上面的示例中假设为6.5.87 。 那么如何确定我使用Android SDK管理器安装的“版本”Google Play服务。 这是我的android sdk的屏幕截图: 所以我的Android SDK Manager告诉我我已经安装了“Revision”,那么我将什么放入build.gradle文件中? compile ‘com.google.android.gms:play-services:6.5.22’ … 或者可能 … compile ‘com.google.android.gms:play-services:22’ 任何帮助赞赏! 更新:感谢您的所有答案。 我能够find这样的版本: Leila001@win8 ~/Windows_Home/AppData/Local/Android/android-sdk/extras/google/google_play_services/libproject/google-play-services_lib/res/values $ cat version.xml 6587000

如何在测试执行期间从assets文件夹访问文件?

如何在unit testing执行期间从assets文件夹访问文件? 我的项目是使用Gradle构建的,我使用Robolectric来运行测试。 似乎gradle正在认识assets : 这就是我在努力阅读文件的方式: public String readFileFromAssets(String fileName) throws IOException { InputStream stream = getClass().getClassLoader().getResourceAsStream(“assets/” + fileName); Preconditions.checkNotNull(stream, “Stream is null”); BufferedReader reader = new BufferedReader(new InputStreamReader(stream, “UTF-8”)); return IOUtils.toString(reader); } 但是stream始终为null 。 我尝试了很多不同的方法,即使用不同的方法定义文件的路径。 非常感谢你提前。

Android Studio:如何创建第二个调试版本types

我想创建第二个构建types,它应该与现有的调试types完全一样。 目前我有两种构建types:调试和发布。 只需单击即可运行调试,并使用调试密钥库自动签名。 我通过Build -> Generate signed APK向导手动编译发布版本。 因此,为了克隆调试构建types,我首先在app build.graddle文件中添加了第二个名为“local”的构建types: buildTypes { … debug { debuggable true minifyEnabled false } local { debuggable true minifyEnabled false } } 然后我创建了app/src/local/res并添加了一些文件。 然后我执行gradle resync并在左侧选项卡中选择新的构建types: 最后,我点击了运行按钮,我希望它能正常工作。 这篇IntelliJ帮助文章说调试签名配置是默认的: 这意味着如果您未手动配置工件并在“运行/调试配置:Android应用程序”对话框中选择“部署默认APK”选项,则IntelliJ IDEA将使用证书中的预定义值生成 而是显示此对话框: 当我单击修复按钮时,它会打开整个应用程序模块的签名配置对话框。 但是,我不想签署这个apk用于发布,我需要用调试证书签名。 另外我注意到已经创建了一个新的assembleLocal gradle任务,但它生成了一个未对齐的apk。 在这个文件夹中,我可以看到常规调试apks在未对齐和最终版本中正确生成。 我怎样才能克隆调试版本types?

在gradle中添加对特定productFlavor和buildType的依赖性

我想知道如何在gradle中为特定的productFlavor和buildType添加依赖项。 例如,我有productFlavor free和build type release ,如何在assembleFreeRelease任务中添加依赖? 我尝试了很多变种,但都没有效果。 例如我试过: task(‘release’, dependsOn: assembleProductionRelease) { } // error: Could not find property ‘assembleProductionRelease’ on root project ‘app’. 要么: task(‘release’, dependsOn: ‘assembleProductionRelease’) { } 这里没有错误,但任务是针对每种风味和构建types执行的,非常令人困惑。