Tag: android gradle

什么是gradle.properties用于? (并使用外部variables)

我已经开发了一段时间的Android应用程序了,但是我意识到我还不知道gradle.properties文件是用来做什么的。 我已经通过Gradle文档了解了一些,例如,您可以添加用于指定Java Home或内存设置的配置。 还有什么可以用的吗? 我这个时代的主要参考通常是Google I / O开源应用程序,看着它的gradle.properties文件 ,我可以看到它的一个用处是存储依赖版本variables,所以Android的版本代码例如,支持库依赖关系不需要每个库的新版本都需要更新,只需要更新一个variables即可: … // Android support libraries. compile “com.android.support:appcompat-v7:${android_support_lib_version}” compile “com.android.support:cardview-v7:${android_support_lib_version}” compile “com.android.support:design:${android_support_lib_version}” compile “com.android.support:support-v13:${android_support_lib_version}” compile “com.android.support:recyclerview-v7:${android_support_lib_version}” compile “com.android.support:preference-v7:${android_support_lib_version}” … Google Play服务使用了相同的想法。 然而,在我自己的Android项目中,我一直在做类似的事情 – 我把我的版本variables放在root build.gradle文件中,如下所示: // Top-level build file where you can add configuration options // common to all sub-projects/modules. buildscript { ext.kotlin_version = ‘1.0.5-2’ repositories { […]

在Android Studio中Kotlin构建失败

错误: Error:Execution failed for task ‘:synclib:compileKotlin’. > com.intellij.openapi.fileTypes.LanguageFileType.(Lcom/intellij/lang/Language;)V synclib模块的build.gradle文件: apply plugin: ‘java’ apply plugin: ‘kotlin’ compileJava { sourceCompatibility = 1.7 targetCompatibility = 1.7 } dependencies { compile fileTree(dir: ‘libs’, include: [‘*.jar’]) testCompile ‘junit:junit:4.12’ // compile ‘com.android.support:appcompat-v7:23.1.1’ compile ‘com.firebase:firebase-client-jvm:2.2.3’ compile “org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version” compile project(‘:jamodel’) } buildscript { ext.kotlin_version = ‘1.0.0’ repositories { mavenCentral() } dependencies { classpath […]

无法解决:com.android.support

当我第一次构建一个新的Android Studio项目时,我得到了Failed to resolve: com.android.support 。 我知道在这里有几个类似的问题,但这些解决方案似乎没有为我工作。 不知道这是否相关,但请注意,错误只是Failed to resolve: com.android.support而不是Failed to resolve: com.android.support:appcompat-v7:…或其他一些Android支持库包。 这是我认为是相关的代码位。 apply plugin: ‘com.android.application’ apply plugin: ‘kotlin-android’ apply plugin: ‘kotlin-android-extensions’ android { compileSdkVersion 26 buildToolsVersion “26.0.2” defaultConfig { applicationId “checkin.yetanotherdev.com.checkin” minSdkVersion 15 targetSdkVersion 26 versionCode 1 versionName “1.0” testInstrumentationRunner “android.support.test.runner.AndroidJUnitRunner” } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ } […]

找不到io.fabric.tools:gradle

我遵循织物的官方指示 https://www.fabric.io/kits/android/crashlytics/install 这是我的gradle.build文件 apply plugin: ‘kotlin-android’ apply plugin: ‘kotlin-android-extensions’ apply plugin: ‘io.fabric’ buildscript { ext.kotlin_version = ‘1.1.51’ repositories { jcenter() mavenCentral() maven { url ‘https://maven.google.com’ } } dependencies { … classpath ‘io.fabric.tools:gradle:1.24.3’ } } repositories { jcenter() mavenCentral() maven { url “https://jitpack.io” } maven { url ‘https://maven.google.com’ } maven { url ‘https://maven.fabric.io/public’ } } android […]

在Instant App中应用插件“kotlin-android”会导致“null不能转换为非空types的com.android.build.gradleBasePlugin”

我一直在试图将新公开发布的Android即时应用和Kotlin编程语言结合起来。 在使用以下(标准?)设置创建我的项目后,当我尝试构建应用程序时,出现错误消息“null不能转换为非空typescom.android.build.gradle.BasePlugin” 。 使用Kotlin可以很好的使用标准的“com.android.application”模块; 仅当我尝试在即时应用程序模块中使用它时,才会引发错误。 顶级build.gradle : buildscript { repositories { maven { url ‘https://maven.google.com’ } jcenter() } dependencies { classpath “com.android.tools.build:gradle:3.0.0-alpha1” classpath “org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.2-4” } } // … 应用程序模块build.gradle ,其中Kotlin工作: apply plugin: ‘com.android.application’ apply plugin: ‘kotlin-android’ // This will work. android { compileSdkVersion 25 buildToolsVersion “25.0.2” defaultConfig { // … } buildTypes { release { […]

错误:执行任务’: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 我试图改变我的项目的包结构后,开始发生。 不幸的是,我通过重命名和移动源文件夹,而不是通过Android Studio重构,这是一个坏主意。 我一直在寻找这个问题的解决办法,而这些都是我试图无效的东西: 做一个Gradle同步; 重新安装Java JRE和Java SDK; 重新安装最新版本的Android Studio(1.4); 回滚到以前的AS版本(1.3); 使AS缓存无效并重新启动; 删除项目目录中的gradle和.gradle目录; 删除我的用户目录中的.gradle目录; 从AS终端运行gradlew clean ; 手动将源代码复制到一个新项目(奇怪的是,它在某些项目中持续存在) 我已经尝试了一些成功的事情,但只能让我再次执行一次干净的重建,然后再次发生错误: 关闭AS,手动删除构建文件并再次打开它; 当AS正在运行时,会杀死java.exe进程(这在技术上可以每次都完成,但是这很枯燥,并且会降低构建过程的速度) 所以看起来,编译Java进程可能会因为某种原因而对构建文件进行锁定,但这也可能与Kotlin有关。 我有一个(更成熟的)我正在处理的Java Android项目,虽然我不能在清理时重现此错误。 这似乎只发生在我的Kotlin项目上。 有任何想法吗? 提前致谢。 更新: 我发现问题是由Kotlin Android插件引起的。 当我从模块的build.gradle文件中删除apply plugin: ‘kotlin-android’时,问题就消失了,当我重新插入时,它会回来。 随时提供任何洞察到这一点。 更新2: 最后的更新不是原因。 我发现如果一个项目包含一个Kotlin文件,那么重建和清理失败。 即使所有Kotlin文件都被删除,它仍然会失败,直到后台Java进程被终止,这意味着它在构建文件上有某种锁定。 我在这里提交了一个bug,更多的细节和步骤来重现错误: KT-9440

无法find参数org.gradle.api.Project的方法android()

得到一个错误,当我试图在studio中编译我的项目时,我搜索了很多,没有真正的解决方案 错误:(17,0)在types为org.gradle.api.Project的根项目“booksStudioDir”上找不到参数[build_a7zf1o8ge4ow4uolz6kqzw5ov $ _run_closure2 @ 19201053]的方法android()。 这是我的构建/ gradle文件的示例 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’ android { compileSdkVersion 21 buildToolsVersion “23.0.1” defaultConfig { applicationId “com.peade.time” minSdkVersion 10 targetSdkVersion 13 } signingConfigs { release { storeFile file(“/home/bestman/Desktop/mkey/key”) storePassword “androidkeys” keyAlias “peade” […]

什么在我的gradle文件仍然保证警告:“配置’编译’已经过时,并已被取代’实施’”?

我有下面的gradle文件,我找不到任何仍然保证警告“ 配置”编译“已经过时,并已被替换为”实施“的任何东西 。 第一个模块Gradle文件: buildscript { repositories { maven { url ‘https://maven.fabric.io/public’ } } dependencies { classpath ‘io.fabric.tools:gradle:1.24.1’ } } repositories { maven { url ‘https://maven.fabric.io/public’ } } apply plugin: ‘com.android.application’ apply plugin: ‘kotlin-android’ apply plugin: ‘kotlin-android-extensions’ apply plugin: ‘io.fabric’ apply plugin: ‘kotlin-kapt’ def keystorePropertiesFile = rootProject.file(“keystore.properties”) def keystoreProperties = new Properties() keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) android […]

Gradle错误升级到Android Studio 3.0 Beta 1

注意:这似乎是Android插件的问题。 查看相关问题的评论。 构建项目时出现以下gradle错误: Gradle sync failed: Cause: java.lang.NullPointerException at sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:98) at sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:77) at sun.nio.fs.WindowsPath.parse(WindowsPath.java:94) at sun.nio.fs.WindowsFileSystem.getPath(WindowsFileSystem.java:255) at java.nio.file.Paths.get(Paths.java:84) at com.android.build.gradle.internal.scope.BuildOutput.getOutputPath(BuildOutput.java:222) at com.android.build.gradle.internal.scope.BuildOutputs.lambda$load$2(BuildOutputs.java:243) at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1376) at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) … 我还会注意到,我不得不手动设置jdk位置,因为如果我使用捆绑的,那么gradle守护进程将不会启动,抱怨没有处于预期的上下文环境中(而是获取绑定的上下文,而不是获取外部上下文)。 这个配置在金丝雀9上工作(与捆绑的jdk)。

Android Studio 3.0.1错误:Gradle项目同步失败。 基本function(如编辑,调试)将无法正常工作

我已经安装了Android Studio 3.0.1,并试图通过选择一个空的活动来构建第一个应用程序,但我得到的消息是: Gradle项目同步失败。 基本function(如编辑,调试)将无法正常工作 和这样的错误信息: 无法解析“:app @ releaseUnitTest / compileClasspath”的依赖关系:无法解析com.android.support:appcompat-v7:26.1.0。 无法解析com.android.support:appcompat-v7:26.1.0。 必需:project:app无法解析com.android.support:appcompat-v7:26.1.0。 无法解析POM https://dl.google.com/dl/android/maven2/com/android/support/appcompat-v7/26.1.0/appcompat-v7-26.1.0.pom已经看过文档types。 这是日志消息的第一部分是: 2018-01-03 11:11:12,671 [d线程8] WARN – ect.sync.idea.ProjectSetUpTask – 已经看过doctype。 请参阅IDE日志以获取更多详细信息(帮助|显示日志)2018-01-03 11:11:12,671 [d线程8]信息 – e.project.sync.GradleSyncState – Gradle同步失败:已经看到doctype。 我已经尝试了一些建议的解决方案,如更改gradle版本,更新Kotlin插件(!)等,但他们没有工作。 任何解决方案