问题标签 [androidx]

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 投票
8 回答
31013 浏览

android - 无法使用转换 JetifyTransform 转换文件“some-lib-release.aar”以匹配属性 {artifactType=processed-aar}

我有一个包含 2 个模块的项目:一个具有构建类型debugrelease和的应用程序 (Java) 以及该应用程序使用enterprise的 Kotlin 库 (releasedebug)。

我正在使用 AndroidX 并在我的gradle.properties

如果我通过 Gradle 运行项目,我会收到一堆编译错误(预期)。但是,如果我尝试在 Android Studio(3.2 Beta 5)中使用它,特别是在尝试与 Gradle 模型同步时,我会得到以下信息:

我的settings.gradle

库模块最终将成为这个应用程序和其他应用程序使用的它自己的库,但是当我在处理它时,我将它构建为应用程序的一部分。在我切换到 AndroidX 之前,一切都很好。

app模块将依赖项声明为:

如果我configuration: 'default'在声明依赖项时省略了这一点,我会得到:

关于我在这里做错了什么的任何想法?

0 投票
16 回答
76734 浏览

android - 迁移到 AndroidX 时无法解析变量“${animal.sniffer.version}”

我正在使用Android Studio 3.2 Beta5将我的项目迁移到AndroidX。当我重建我的应用程序时,我收到了这些错误:

错误:[TAG] 无法解析变量“${animal.sniffer.version}”

错误:[TAG] 无法解析变量“${junit.version}”

完全清洁和重建不起作用!有人知道怎么修这个东西吗?


gradle.properties

构建.gradle

应用程序/build.gradle

0 投票
3 回答
9457 浏览

java - Android Studio 中缺少向 androidX 的迁移

我正在尝试将我的项目迁移到 androidX。我正在尝试迁移的项目基于 android 支持库 AppCompat。在开发人员文档中,它说您可以通过执行以下操作迁移到 AndroidX: Android Studio -> Refactor -> Migrate to AndroidX 但是当我按照这些步骤操作时,我最终会选择Refactor,因为我只有选项Migrate to应用兼容性。我不知道该怎么办。

附加信息:
Android Studio 版本: 3.1.4(稳定通道)
Android SDK 工具版本: 26.1.1

谢谢你的帮助!

0 投票
3 回答
2009 浏览

android - AndroidX 导航 navigateUp 两次

我正在使用新的 AndroidX 导航框架。

我有几个片段都链接在导航链中。

片段A --> 片段B --> 片段C

FragmentC 有一个“取消”按钮,它应该让我一直回到 FragmentA。

我应该执行以下操作:
在 FragmentC 上调用该方法:

然后在 FragmentB 上监听一些回调并使用一些传递的参数或参数触发来自 FragmentB 的另一个 navigateUp() 函数

或者是否有一些方法可以做相当于 navigateUpTwice()

0 投票
2 回答
2445 浏览

android - 尝试将 Firebase 与 AndroidX 一起使用会产生错误: Failed resolution of: Landroid/support/v4/util/ArrayMap;

我试图在我的应用程序中使用 AndroidX 库,但我遇到了问题。我了解与 Firebase 相关的问题。如您所见,我排除了支持 v4 库,我这样做是有原因的。如果我删除这些行,将会出现另一个错误:“程序类型已经存在:android.support.v4.media.MediaBrowserCompat$ConnectionCallback$StubApi21”。那么如何同时使用 AndroidX 和 Firebase 呢?有什么解决办法吗?

我的 build.gradle 是

0 投票
7 回答
8086 浏览

dagger-2 - dagger android 对 androidx.fragment 的支持

如何从包androidx.fragment.app.Fragment注入片段?

我正在使用dagger-android框架在我的代码中注入我的依赖项。

正如文档所说,我这样做是为了注入我的片段

问题是AndroidSupportInjection类只接受包 android.support.v4.app.Fragment 的片段,或者如果我使用AndroidInjection类只接受包 android.app.Fragment 的片段并且我想使用 androidx.fragment 的片段。 app.Fragment 包。

DaggerFrament 也扩展自android.support.v4.app.Fragment并希望使用来自 androidx 的片段

如果我尝试实现HasSupportFragmentInjector这个接口也使用来自 android.support 的片段

0 投票
1 回答
677 浏览

android - Android:不能使用提供的参数调用以下函数

我刚刚将 android gradle 插件版本升级到com.android.tools.build:gradle:3.3.0-alpha06我的项目无法编译并出现以下错误:

代码非常简单:

有一个示例回购:https ://github.com/martinbonnin/TestCanary6

我错过了什么还是 android studio 错误?

0 投票
0 回答
418 浏览

android - 升级到 3.3 后无法构建项目

前段时间我想为 Android 使用新的 Material 组件,
所以我按照他们的 getting-started.md 说明,还更新到了 android studio 3.3 canary 6,并完成了所有迁移到 androidx。

但在那之后我经历了一些有线的事情,但最困扰的是moshi,我正在使用这段代码:(“it”是带有json的String)

当我建造它时,它在大喊:

e:无法解析以下类的超类型。请确保您在类路径中有所需的依赖项:
class com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory;,未解析的超类型:Lcom.squareup.moshi.JsonAdapter.Factory;

任务:app:compileDebugKotlin FAILED

当我去声明时,一切都很好。

有人经历过并知道如何解决吗?我没有在 gradle 中使用 proguard 和禁用 enableR8。

我也启用了那些:

android.enableJetifier=true
android.useAndroidX=true

-- 更新 --
在了解了 enableJetifier 所做的那些之后,我只用 moshi 创建了一个新项目,做了同样的事情并且将 enableJetifier 设置为 false 它工作得很好,但是我必须使用 jetifier 作为匕首。

有谁知道如何从jetifier中排除项目?

0 投票
3 回答
2288 浏览

android - androidx和支持依赖导致multidex错误

我有一个在其中使用androidx依赖项的库项目。

在我的应用程序中添加库项目后,我收到多个与dexMerger, MultiDex,相关的错误Multiple dex files define Landroid/support/v4/...

所以我使用window+O(导航->类)搜索了该文件。然后我发现'androidx.appcompat:appcompat:1.0.0-rc01'android.support.v4..库中使用了相同的类。所以我试图排除如下 -

我也添加了multidex true但没有任何帮助。我读到AndroidX它看起来包含许多类似于支持库的类。在这种情况下应该怎么做?我有最新版本的 Android Studio,我compileSdkVersion的是28. 我的所有依赖项都是最新的。我已经添加了multidex依赖项,并且我的应用程序类也在扩展MultiDexApplication.

0 投票
0 回答
480 浏览

android - Android Studio 3.3 Canary 6 - android.enableJetifier=true 不起作用

如果我们使用最新的 Android Studio 3.3 Canary 6 创建一个新项目,它默认支持 Androidx。

但问题是由于导入冲突,我几乎无法使用任何第三方库。

图书馆用途

android.support.v7.app.*

虽然 androidx 使用androidx.*

我认为设置android.enableJetifier=true应该通过自动将第三方库转换为使用 Androidx 来解决此问题,但它根本不起作用,并且清楚地显示消息说

无法解决android.support.v7.app.whatever

我知道第三方库需要重构,androidx但当然需要一些时间才能将它们全部重构为 Androix。同时,这个问题有什么可能的解决方案吗?

与此有关的一些问题

接收生命周期

安科