问题标签 [android-gradle-3.0]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
1860 浏览

android - Android Gradle 插件 3.0 构建错误

迁移到Android gradle plugin 3.0时遇到问题。

项目根目录下的build.gradle 文件

Android应用程序模块 build.gradle

试图编译一个项目。我收到编译错误。

在此处输入图像描述

但是一旦再次添加retrolambda,项目就会成功编译和构建。通读“已知问题”部分并没有找到解决方法。我希望有人经历过这个并且可以提供帮助。

0 投票
1 回答
1076 浏览

android - 在 Android Studio 3.1 Canary 6+ 之后数据绑定卡住了(12.21.2018 更新)

我已经更新了 AS 3.1 的 Canary 6 中的所有内容,请参见此处,包括到 v2 的数据绑定。

现在,有些东西会出错,很多标准的“android:xxxx”不能绑定,还有一些定制的绑定适配器。

看这里

Cannot find the setter for attribute 'android:onClick' with parameter type lambda on android.widget.TextView.

Cannot find the setter for attribute 'android:onViewAttachedToWindow' with parameter type lambda on android.widget.ScrollView.

堆栈错误: at android.databinding.tool.processing.Scope.assertNoError(Scope.java:112) at android.databinding.annotationprocessor.ProcessDataBinding.process(ProcessDataBinding.java:90) at com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor(JavacProcessingEnvironment.java:794) at com.sun.tools.javac.processing.JavacProcessingEnvironment.access$200(JavacProcessingEnvironment.java:91) at com.sun.tools.javac.processing.JavacProcessingEnvironment$DiscoveredProcessors$ProcessorStateIterator.runContributingProcs(JavacProcessingEnvironment.java:627) at com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run(JavacProcessingEnvironment.java:1033) at com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:1198) at com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1170) at com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1068) at org.jetbrains.kotlin.kapt3.AnnotationProcessingKt.doAnnotationProcessing(annotationProcessing.kt:73) at org.jetbrains.kotlin.kapt3.AnnotationProcessingKt.doAnnotationProcessing$default(annotationProcessing.kt:42) at org.jetbrains.kotlin.kapt3.AbstractKapt3Extension.runAnnotationProcessing(Kapt3Extension.kt:205) at org.jetbrains.kotlin.kapt3.AbstractKapt3Extension.analysisCompleted(Kapt3Extension.kt:166) at org.jetbrains.kotlin.kapt3.ClasspathBasedKapt3Extension.analysisCompleted(Kapt3Extension.kt:82) at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM$analyzeFilesWithJavaIntegration$2.invoke(TopDownAnalyzerFacadeForJVM.kt:96) at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(TopDownAnalyzerFacadeForJVM.kt:106) at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration$default(TopDownAnalyzerFacadeForJVM.kt:83) at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.invoke(KotlinToJVMBytecodeCompiler.kt:376) at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.invoke(KotlinToJVMBytecodeCompiler.kt:67) at org.jetbrains.kotlin.cli.common.messages.AnalyzerWithCompilerReport.analyzeAndReport(AnalyzerWithCompilerReport.kt:96) at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.analyze(KotlinToJVMBytecodeCompiler.kt:367) at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules(KotlinToJVMBytecodeCompiler.kt:132)

任何提示?

0 投票
2 回答
409 浏览

android - 升级到Android studio Gradle Plugin 3.0.1,strings.xml中的“\r”(回车)在TextView中显示“r”

我刚刚升级到 Android Studio Gradle Plugin 3.0.1。非常奇怪的事情发生在strings.xml中的字符“\r”(ASCII回车)在运行apk时显示“r”。它在我较旧的 Android Studio 版本 2.3.3 中正常工作。

我的旧 buildToolsVersion 是“25.0.2”,它有消息表明 Gradle Plugin 3.0.1 支持最低 SDK 26.0.2。因此 buildToolsVersion 更改为“26.0.2”。源代码是相同的,我只是在我的两台 NB 计算机的两侧进行了测试。

有没有办法避免这种情况?欢迎任何建议。我不想删除所有这些“\r”,因为 20 种语言有数百个,并且害怕其他副作用。

0 投票
1 回答
605 浏览

android - Android Gradle 3 facebook-login:4.29.0 dex 合并错误程序类型已存在

嘿,我正在尝试将最新版本的 facebook-login:4.29.0 添加到我的应用程序中。这样做我更新到 Gradle 3。我无法解决这个 dex 合并。仅当我包含 facebook-login 库时才会发生这种情况。也许我对 gradle 3 迁移做错了什么?我还有其他一些可能导致冲突的 facebook 库。但这不像我以前见过的合并错误。我还完成了所有通常的清理工作并删除了 .gradle 文件夹。Multidex 已开启。com.facebook.android 被添加到 proguard 异常中。我无法执行强制合并解决策略,因为它不是版本不匹配。由于 SO 的字符限制,不得不削减很多日志。如果我不包括 facebook,就可以正常工作。

结果

0 投票
1 回答
551 浏览

android - Android - 奥利奥迁移后 Xwalk 崩溃

我想对应用程序目标进行一些更改Android SDK 22 (5.1)

我在Android Studio 3中加载了项目,得到了 Gradle 升级消息。当然,这样做会使整个事情爆炸,因为新的 Gradle 处理依赖项的方式变得非常挑剔。我决定全力以赴,只做整个迁移。无论如何都必须在某个时候这样做。

该应用程序使用一个XWalkView(在一个类中扩展),而不是本机 Webview,因为我们希望运行一些 WebGL。Xwalk 是嵌入的而不是共享的。

只需将 Gradle 文件更新为最新的 Libs,基本上将 Android 支持更改为最新的目标 SDK,使应用程序在 Android 7+ 设备上启动时崩溃(直接崩溃消息)(Oreo 在emu 上测试)。该应用程序之前已正确加载。Logcat 如下:

Xwalk 崩溃

在应用程序代码中,崩溃似乎源自以下行: XWalkPreferences.setValue(XWalkPreferences.REMOTE_DEBUGGING, true);,它位于类扩展 中Application,而该类又包含所用工具的调试/发布配置。删除所述行允许应用程序正常工作,直到它实际尝试加载XWalkView.

该应用程序在Android 4.4(19 分钟 SDK for app)、5.0 (21) 和 6.0 (23) 上正常运行。

我一直在互联网上寻找可能的解决方案,但还没有找到有用的东西。我知道人行横道已被弃用,可能应该被替换,但 Android 中没有提供 WebGL 支持,我目前看不到当前图形发生变化。

如果有任何其他可能有用的信息,请告诉我,我会提供。

希望有人可以阐明。提前致谢。

编辑:

经过一番玩耍,我发现问题出在库文件上。下载crosswalk.aar我发现它有2个版本:

  • xwalk_core_library-23.53.589.4-arm.aar
  • xwalk_core_library-23.53.589.4-arm64.aar

我删除了 Maven 版本并手动包含了文件。当我使用 arm64 位时,我实际上可以在 Android 7 平台上毫无问题地使用该应用程序。但是后来我在其他版本中遇到了同样的 xwalk 崩溃。在 arm 库的情况下,事情又回到了以前的样子。

他们不能一起工作。构建时出现Duplicate zip file错误。

所以新的问题是:有没有办法告诉 gradle 每个架构使用哪个库文件?我一直在四处寻找,但我找不到任何东西。

0 投票
5 回答
28855 浏览

android - AAPT2 错误:当我将我的 android studio 更新到最新版本时,这个错误就发生了

我尝试了“ multiDexEnabled true ”以及“ android.enableAapt2=false”,但错误仍在继续。似乎有一些构建问题。它是什么?

org.gradle.api.tasks.TaskExecutionException:任务':app:processDebugResources'的执行失败。在 org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:70) 在 org.gradle. .api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51) 在 org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:62) 在 org.gradle.api.internal .tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54) 在 org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:60) 在 org.gradle.api.internal。

0 投票
0 回答
150 浏览

android - 构建具有库依赖关系的项目可防止清理

Windows 10,gradle 4.1,构建工具 27.0.2,gradle 插件 3.0.1。

我有一个应用程序app,依赖于android-faq-bot.

如果我./gradlew.bat clean在成功构建后这样做,我会收到以下错误:

跑步

我尝试禁用所有插件,禁用dexInProcess. 不行,唯一的选择是杀死 gradle 守护进程。我尝试附加https://github.com/kohsuke/file-leak-detectorjavaagent 以查看文件的打开位置,但我无法让它在 Windows 上工作。我还尝试从 jconsole 强制进行 GC,希望无法访问的文件能够最终确定并释放 FD。但不是。

有什么建议么?

0 投票
0 回答
602 浏览

gradle - 在 Kotlin Android 库项目中出现未解决的参考错误

我在 Kotlin Android Library 项目中遇到未解决的参考错误。

1.) standard_kotlin_lib.jar --> 包含:Kotlin 类,META-INF/standard_kotlin_lib.kotlin_module

2.) A.aar --> 只编译standard_kotlin_lib.jar 文件。编译后,在生成的 A.aar 文件的 classes.jar 里面: META-INF/standard_kotlib_lib.kotlin_module is missing, infect whole META-INF is missing

3.) B.aar --> 编译 A.aar。这里,kotlin 源代码导入类定义在“standard_kotlin_lib.jar”中。导入时出现未解决的参考错误

B.aar <-- A.aar <--standard_kotlin_lib.jar

工具版本:1.)我正在使用 android gradle 插件 3.0.0 和 gradle 版本 4.3.0。使用以前的插件版本,即 2.2.3 和 gradle 版本 3.2.1,不会出现此错误。Kotlin 版本是 1.1.4

我认为的问题:1.) A.aar 文件中缺少 META-INF。当我手动复制 A.aar 的 classes.jar 中的 META-INF 时,B.aar 编译成功。

0 投票
2 回答
454 浏览

android - 从组合风味维度动态构建模式

我们有两个不同的风味维度,就像在这个例子中一样,我们想要动态生成 applicationId 像

com.company.apple

相反,此脚本将生成一个 applicationId

null.company.apple

我相信这是因为底部的函数迭代了整个 productFlavor 列表,而不是组合列表。

如何遍历组合列表以构建我的 buildConfig 字段和 applicationIds?

manifestPlaceholders 的使用方式如下:

谢谢,罗里

0 投票
1 回答
3574 浏览

android - 本地库的 Android Gradle 3.0 和“未解析的参考 R”

我正在努力更新我的项目以使用 Android Gradle Plugin 3.0.1 进行编译。事实:

  • app项目依赖于本地库:lib
  • ./gradlew assembleDebugforapp编译失败lib并出现错误Unresolved reference: R
  • lib作为独立项目构建成功
  • packageAndroidManifest两个项目中是相同的
  • 我试图禁用 aapt2 ( android.enableAapt2=falsein gradle.properties) - 不走运
  • 可能相关:使用 Kotlin (1.2.21)

我错过了什么?看起来很简单,但我找不到在构建时没有生成 R 的原因app,但在lib直接构建时却是。