标签: android-gradle-plugin

在build.gradle文件中编写注释的语法是什么?

俯视这个build.gradle文件

apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        applicationId "package.myapp"
        minSdkVersion 19
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.nineoldandroids:library:2.4.0'
}
Run Code Online (Sandbox Code Playgroud)

如果我想什么写评论我为什么选择这个库为这个项目,

build.gradle文件中写注释的语法是什么?

android comments gradle build.gradle android-gradle-plugin

162
推荐指数
2
解决办法
7万
查看次数

如何使用gradle在APK文件名中设置versionName?

我正在尝试在gradle自动生成的APK文件名中设置特定的版本号.

现在gradle生成myapp-release.apk但我希望它看起来像myapp-release-1.0.apk.

我尝试过重命名看起来很乱的选项.有一个简单的方法吗?

buildTypes {
    release {
       signingConfig signingConfigs.release
       applicationVariants.each { variant ->
       def file = variant.outputFile
       variant.outputFile = new File(file.parent, file.name.replace(".apk", "-" +    defaultConfig.versionName + ".apk"))
    }
}
Run Code Online (Sandbox Code Playgroud)

我试过上面的代码没有运气.有什么建议?(使用gradle 1.6)

android build gradle apk android-gradle-plugin

159
推荐指数
9
解决办法
8万
查看次数

Android build默认在build.gradle中构建什么产品风味?

我们有一个使用新Gradle构建系统的Android项目,我们使用Android Studio作为开发工具.如果指定了多种产品风格build.gradle,我们会注意到Android Studio按字母顺序构建了第一个.有没有办法告诉Android Studio在开发过程中只构建和测试特定的产品风格?

android gradle android-studio android-gradle-plugin

156
推荐指数
3
解决办法
3万
查看次数

使用Google Services 3.0.0时缺少api_key /当前密钥

自从我使用最新版本的google服务和库(9.0.0)升级项目后,我遇到了这个奇怪的问题:

错误构建

等级控制台:

:app:processDebugGoogleServices
Parsing json file: /Users/cyrilmorales/Documents/Projects/mobilemeans-punainenristi/app/google-services.json
:app:processDebugGoogleServices FAILED
Error:Execution failed for task ':app:processDebugGoogleServices'.
> Missing api_key/current_key object
Information:BUILD FAILED
Run Code Online (Sandbox Code Playgroud)

build.gradle(root):

dependencies {
    classpath 'com.android.tools.build:gradle:2.2.0-alpha1'
    classpath 'com.google.gms:google-services:3.0.0'
}
Run Code Online (Sandbox Code Playgroud)

build.gradle(app):

dependencies {
    ....
    compile 'com.google.android.gms:play-services-analytics:9.0.0'
    compile 'com.google.android.gms:play-services-gcm:9.0.0'
    compile 'com.google.android.gms:play-services-maps:9.0.0'
    compile 'com.google.android.gms:play-services-location:9.0.0'
    ...
}
apply plugin: 'com.google.gms.google-services'
Run Code Online (Sandbox Code Playgroud)

但是,它适用于8.4.0和google-services 2.1.0中的播放服务库

你对这个解决方案有什么看法吗?

android google-play-services android-gradle-plugin

156
推荐指数
6
解决办法
6万
查看次数

使用"flatDirs"将本地.aar文件添加到Gradle构建不起作用

我知道这个问题:将本地.aar文件添加到我的gradle构建中,但该解决方案对我不起作用.

我尝试将此语句添加到我的build.gradle文件的顶级:

repositories {
    mavenCentral()
    flatDir {
        dirs 'libs'
    }
}
Run Code Online (Sandbox Code Playgroud)

我还把slidingmenu.aar文件放入/libs并在dependencies部分中引用它:compile 'com.slidingmenu.lib:slidingmenu:1.0.0@aar'但它根本不起作用.

我也试过compile files('libs/slidingmenu.aar')但没有运气.

我错过了什么?有任何想法吗?

PS Android Studio 0.8.2

android android-studio build.gradle android-gradle-plugin aar

155
推荐指数
11
解决办法
15万
查看次数

错误:任务':app:clean'的执行失败.无法删除文件

我正在尝试重建我的Android Studio Gradle项目(主要包含Kotlin代码),但它UnableToDeleteFileException在清理/重建过程中开始抛出:

Execution failed for task ':app:clean'.
> Unable to delete file: C:\Users\User\KotlinGameEngine\app\build\intermediates\exploded-aar\com.android.support\appcompat-v7\23.0.1\jars\classes.jar
Run Code Online (Sandbox Code Playgroud)

在我尝试更改项目的包结构后,这种情况开始发生.不幸的是,我是通过重命名和移动源文件夹而不是通过Android Studio重构来实现的,这是一个坏主意.

我一整天都在寻找解决这个问题的方法,这些都是我试过无用的东西:

  • 进行Gradle同步;
  • 重新安装Java JRE和Java SDK;
  • 重新安装最新版本的Android Studio(1.4);
  • 回滚到之前的AS版本(1.3);
  • 使AS缓存无效并重新启动;
  • 删除项目目录中的gradle.gradle目录;
  • 删除.gradle我的用户目录中的目录;
  • gradlew clean从AS终端运行;
  • 手动将源代码复制到一个新项目(奇怪的是它在项目中以某种方式存在......)

我尝试了一些有点成功的事情,但只让我再次执行一次干净并重新构建错误之前:

  • 关闭AS,手动删除构建文件并再次打开它;
  • java.exe在AS运行时杀死进程(这在技术上可以每次都完成,但是它很繁琐并且减慢了构建过程)

所以似乎编译Java进程可能由于某种原因锁定构建文件,但它也可能与Kotlin有关.我有一个(更成熟的)Java Android项目,我正在努力,虽然我在清理时无法重现此错误.这似乎只发生在我的Kotlin项目上.

有任何想法吗?

提前致谢.

更新:

我发现问题是由Kotlin Android插件引起的.当我apply plugin: 'kotlin-android'从模块的build.gradle文件中删除时,问题消失,并在重新插入时返回.随意提供任何洞察力.

更新2:

最后一次更新不是原因.我发现如果一个项目包含一个Kotlin文件,那么重建和清理就会失败.它继续失败,即使所有Kotlin文件都被删除,直到后台Java进程被杀死,这意味着它对构建文件有某种锁定.我在这里提交了一个错误,其中包含更多细节和重现错误的步骤:KT-9440

android kotlin android-studio android-gradle-plugin kotlin-android-extensions

152
推荐指数
11
解决办法
16万
查看次数

Unable to load class AndroidComponentsExtension after upgrading the Android Gradle Plugin 7.1

I recently downloaded Android Studio Bumblebee and it helpfully asked whether I wanted to upgrade to Android Gradle Plugin 7.1.0, the version that shipped alongside Android Studio Bumblebee.

After upgrading, I get a build error:

Unable to load class 'com.android.build.api.extension.AndroidComponentsExtension'.

This is an unexpected error. Please file a bug containing the idea.log file.
Run Code Online (Sandbox Code Playgroud)

And looking at the idea.log file, I see:

A problem occurred evaluating project ':main'.
    at org.gradle.initialization.exception.DefaultExceptionAnalyser.transform(DefaultExceptionAnalyser.java:103)
    ...
Caused by: org.gradle.api.GradleScriptException: A problem occurred evaluating project ':main'.
    at …
Run Code Online (Sandbox Code Playgroud)

android android-gradle-plugin firebase-performance android-architecture-navigation android-safe-args

150
推荐指数
4
解决办法
6万
查看次数

Gradle,Android和ANDROID_HOME SDK位置

编辑:(aug-2016)

这个问题是从2013年11月开始的(当Android Studio仍处于开发者预览模式时),

当前(AS v2.2,2016年8月)在安装期间,AS要求选择SDK文件夹(或默认安装),它会自动应用于您正在打开的项目.

这意味着任何可能的解决方法或修复都无关紧要,因为问题不再可再生.

原始问题:

我们这个项目有几个已经配置好的模块,并且使用包装器在另一台开发者PC上正确执行.我将完整的git子模块克隆到我的机器中.

下面是我的命令行的直接打印:

$ ./gradlew

FAILURE: Build failed with an exception.

* Where:
Build file '/home/budius/project_name/ActionBar-PullToRefresh/library/build.gradle' line: 1

* What went wrong:
A problem occurred evaluating project ':ActionBar-PullToRefresh:library'.
> SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 6.378 …
Run Code Online (Sandbox Code Playgroud)

android gradle android-build android-gradle-plugin

147
推荐指数
12
解决办法
23万
查看次数

错误"模块根文件夹中缺少文件google-services.json.没有它,Google Services插件无法正常运行"

我将我的项目更新为最新的Play服务classpath 'com.google.gms:google-services:1.5.0-beta2'.我也在app.gradle文件中使用最新版本的playservices:

compile 'com.google.android.gms:play-services-location:8.3.0'
compile 'com.google.android.gms:play-services-gcm:8.3.0'
Run Code Online (Sandbox Code Playgroud)

但是当我编译时,Gradle会抛出异常,如下所示

Error:Execution failed for task ':app:processDebugGoogleServices'. > File google-services.json is missing from module root folder. The Google Services Plugin cannot function without it.
Run Code Online (Sandbox Code Playgroud)

android google-play-services android-gradle-plugin

147
推荐指数
9
解决办法
25万
查看次数

Android studio 3.0:无法解析依赖:app @ dexOptions/compileClasspath':无法解析项目:动画师

我迁移到Android studio 3.0.因此,项目无法编译名为":animator"的模块,它会显示以下错误:

 Error:Unable to resolve dependency for
 ':app@dexOptions/compileClasspath': Could not resolve project
 :animators. <a
 href="openFile:/home/mobilepowered/MobilePowered/MyInnovalee/trunk17-10-2017/app/build.gradle">Open
 File</a><br><a href="Unable to resolve dependency for
 &#39;:app@dexOptions/compileClasspath&#39;: Could not resolve project
 :animators.">Show Details</a>
Run Code Online (Sandbox Code Playgroud)

并显示详细信息提供此日志:

 Unable to resolve dependency for ':app@dexOptions/compileClasspath':
 Could not resolve project :animators.

 Could not resolve project :animators. Required by:
     project :app
 Unable to find a matching configuration of project :animators:
      - Configuration 'debugApiElements':
          - Required com.android.build.api.attributes.BuildTypeAttr 'dexOptions' and found incompatible value 'debug'.
          - Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and
 found compatible value 'Aar'. …
Run Code Online (Sandbox Code Playgroud)

android-studio android-gradle-plugin android-studio-3.0

146
推荐指数
12
解决办法
23万
查看次数