问题标签 [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 投票
0 回答
674 浏览

android - Gradle 3.0.0 构建问题

所以我已经更新到gradle 3.0.0(IDE),它开始让我遇到各种各样的问题。
首先我必须启用multiDex

实施项目multidex vailError:任务':sample:transformDexArchiveWithExternalLibsDexMergerForDebug'的执行失败。> java.lang.RuntimeException: java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: 无法合并 dex

这很奇怪,因为这些是我唯一的依赖项:

:样本

:lib 模块

如果multiDex由于这些依赖关系而必须启用它,那么默认情况下它也可能是真的......
启用它后,我在:sample模块中遇到了这个问题:

摇篮:

“所有 com.android.support 库必须使用完全相同的版本规范(混合版本会导致运行时崩溃)。找到版本 27.0.0、21.0.3。”

安慰:

java.io.IOException:

无法写入 [build/intermediates/multi-dex/debug/componentClasses.jar](无法读取 [.../build/intermediates/transforms/desugar/debug/14.jar(;;;;;;* *.class)] (重复的 zip 条目 [14.jar:android/support/v4/view/ViewPager$1.class]))

所以我做了一些调查:

我发现数据绑定导入support-v4......如果发生这种情况:(com.android.support:support-annotations:21.0.3 -> 27.0.0更新支持注释版本)为什么不support-v4更新呢?
所以我不得不在我的:sample 模块中添加这个依赖项:

从项目中删除所有构建文件夹和.gradle后,从 user/.gradle 中删除缓存文件夹,运行 Clean 然后 Rebuild,我终于得到了一个 .apk

为什么3.0.0会gradle发生这种情况? 谢谢你的时间。Android Studio

============================

编辑:感谢Mark (@CommonsWare) 的评论,我发现这不仅是一个已知问题,在添加 support-v4 依赖项后,不再需要 multiDex。

0 投票
5 回答
7123 浏览

android - Android gradle 3.0.0 - ZLIB 输入流的意外结束

将 android studio 更新到 3.0 并切换到后,gradle plugin 3.0.0我收到此错误:

这些问题既出现在我所有的旧项目中,也出现在全新的项目中。关于造成这种情况的任何想法?Gradle 2.3.3 工作正常

我的项目build.gradle

gradle-wrapper.properties

任何帮助,将不胜感激!

0 投票
16 回答
56586 浏览

android - java.lang.NoSuchMethodError: 没有静态方法 getFont(Landroid/content/Context;ILandroid/util/TypedValue;ILandroid/widget/TextView;)

将我的 Android Studio 更新到 3.0 后,我收到No static method getFont()错误消息。我正在从事的项目在 github 上,https://github.com/ik024/GithubBrowser

应用程序等级

错误:

致命异常:主进程:com.ik.githubbrowser,PID:4248 java.lang.NoSuchMethodError:没有静态方法 getFont(Landroid/content/Context;ILandroid/util/TypedValue;ILandroid/widget/TextView;)Landroid/graphics/Typeface ; 在 Landroid/support/v4/content/res/ResourcesCompat 类中;或其超类('android.support.v4.content.res.ResourcesCompat' 的声明出现在 android.support.v7.widget 的 /data/app/com.ik.githubbrowser-YvwoGrxR8QaUEZ3IEqFVLQ==/split_lib_dependencies_apk.apk 中)。 TintTypedArray.getFont(TintTypedArray.java:119) 在 android.support.v7.widget.AppCompatTextHelper.updateTypefaceAndStyle(AppCompatTextHelper.java:208) 在 android.support.v7.widget.AppCompatTextHelper.loadFromAttributes(AppCompatTextHelper.java:110) 在 android .support.v7.widget.AppCompatTextHelperV17。

0 投票
1 回答
330 浏览

java - Android Gradle:DuplicateFileException:在 APK com/fasterxml/jackson/core/json/VERSION.txt 中复制的文件重复

我已经研究了 stackoverflow 中的所有类似案例,但建议的解决方案似乎非常具体,完全取决于 gradle 文件中声明的依赖项的组合。

我设法成功构建,但是当我尝试运行应用程序时,我得到:

错误:任务':app:transformResourcesWithMergeJavaResForDebug'的执行失败。

com.android.build.api.transform.TransformException:com.android.builder.packaging.DuplicateFileException:在 APK com/fasterxml/jackson/core/json/VERSION.txt 中复制的重复文件

文件1 : /media/barmistias/9668C07068C050A3/AndroidApps/LMMovies/app/libs/jackson-core-2.1.3.jar

文件2 : /home/barmistias/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-core/2.1.3/f6c3aed1cdfa21b5c1737c915186ea93a95a58bd/jackson-core-2.1.3.jar

我的 Gradle 文件是:

解决该问题最常用的建议是:

在我的情况下,错误仍然存​​在,更糟糕的是,当编译器找不到必要的文件时会出现一个新错误。一个问题:使用pickfirst类型指令而不是 exclude 指令不是更好吗?那么,有什么想法吗?谢谢。

0 投票
2 回答
776 浏览

android - 不再使用 Android Studio 3.0 在输出文件夹中创建 AAR 库

我的 Android 项目中有一些 lib 模块。在将 Android Studio 更新到新的 3.0 版本以及将 Gradle 插件更新到 3.0.0 之前,我能够在构建项目后在 builder/output 文件夹中找到我的库的 AAR 文件。

在这个新版本中似乎不再生成 AAR 库。

有没有其他方法可以再次获得它们?

0 投票
0 回答
89 浏览

android-gradle-plugin - 如何列出哪些依赖项计入 AGP 3.0 中 androidTest apk 的 dex 限制?

我升级到 AGP 3.0,但后来得到了com.android.dex.DexIndexOverflowExceptionapk androidTest。我对 gradle 没有这个问题2.3.3。如何获得依赖项报告,准确了解哪些依赖项仅添加一个androidTestApk(也就是计入 65k dex 限制的依赖项)

我试过了:❯ ./gradlew app:dependencies --configuration androidTestApk

所以我尝试了:❯ ./gradlew app:dependencies --configuration androidTestRuntimeOnly

我应该怎么办?

注意:这个问题可以通过将 minSdk 提高到 21 来解决(但我不能对我的主 apk 这样做)

0 投票
0 回答
275 浏览

android - Gradle 3.0 在项目中的其他模块中找不到资源

我已将 Android Gradle 插件升级到 3.0。我的项目中有多个模块。所以对于模块中不同的 buildTypes(比如release),我也在releaseImplementation project(':otherModule')主 App 模块 gradle 中添加了。在主 App 模块中的某些布局 xml 文件中,当我尝试获取一些资源(存在于 中otherModule时,出现以下错误。

AAPT:未找到与给定名称匹配的资源(在“文本”处,值为“@string/some_string”)。

我的项目结构看起来像

0 投票
2 回答
2911 浏览

android - API 26 中缺少 android.support.v4.animation

我面临一个问题:android.support.v4.animation.*丢失,我找不到任何解决方案。

Android 插件升级到 3.0 需要buildToolsVersioncompileSDKVersion26+ 并且此包丢失。

0 投票
2 回答
1720 浏览

android - 在 Android Studio 3.0 中使用 Precondition.checkNotNull() 会产生 lint 错误

我最近将我的 Android Studio 更新到 3.0。我尝试使用 Preconditions.checkNotNull() 但它显示错误并显示以下消息。

Preconditions.checkNotNull() 只能在同一个库组 (groupId=com.android.support) 中调用。

我搜索了一些其他链接,发现在推出较旧的支持库版本时发生了类似的事情。

AppCompatActivity.onCreate 只能在同一个库组内调用

建议的答案告诉我禁用 lint 警告,但从长远来看,我认为这不是正确的做法。

关于为什么会出现此特定错误的任何解释?

0 投票
8 回答
21277 浏览

android-studio-3.0 - Android Studio 3.0 Unsigned Apk Not Installing

After upgrading to android studio 3.0 the debug apk is saying App not istalled.

The package appears to be corrupted