- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我将我的 android studio 更新到版本 3.3 canary 13
(撰写本文时为最新版本)。我被提示更新我的项目的 gradle 版本,我将它更新到版本 3.3.0-alpha13
类路径 'com.android.tools.build:gradle:3.3.0-alpha13'
现在当我尝试运行我的项目时,它因错误而失败
错误:类描述符“Android/support/customtabs/ICustomTabsCallback/;”不能用dex格式表示。
我尝试使缓存无效、清理并重建项目,但没有任何效果。下面是我的应用程序的 build.gradle
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
androidTestImplementation('androidx.test.espresso:espresso-core:3.1.0-alpha3', {
exclude group: 'com.android.support', module: 'support-annotations'
})
implementation 'androidx.appcompat:appcompat:1.0.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'com.google.android.material:material:1.0.0'
}
最佳答案
我决定尝试使用 ./gradlew build --stacktrace
命令,发现 ICustomTabsCallback
类正在被 androidx.browser:browser:1.0.0 使用-rc01
库。
> Transform browser.aar (androidx.browser:browser:1.0.0-rc01) with DexingTransform
AGPBI: {"kind":"error","text":"Class descriptor \u0027Landroid/support/customtabs/ICustomTabsCallback/;\u0027 cannot be represented in dex format.","sources":[{}],"tool":"D8"}
> Task :app:mergeExtDexDebug FAILED
AGPBI: {"kind":"error","text":"Class descriptor \u0027Landroid/support/customtabs/ICustomTabsCallback/;\u0027 cannot be represented in dex format.","sources":[{}],"tool":"D8"}
FAILURE: Build failed with an exception.
然后我使用 ./gradlew app:dependencies
命令查看依赖项是否存在冲突,我发现了错误。
+--- androidx.appcompat:appcompat:1.0.0-rc01 -> 1.0.0 (*)
| \--- androidx.browser:browser:1.0.0-rc01
| +--- androidx.core:core:1.0.0-rc01 -> 1.0.0 (*)
| +--- androidx.annotation:annotation:1.0.0-rc01 -> 1.0.0
| +--- androidx.interpolator:interpolator:1.0.0-rc01 -> 1.0.0 (*)
| +--- androidx.collection:collection:1.0.0-rc01 -> 1.0.0 (*)
| \--- androidx.legacy:legacy-support-core-ui:1.0.0-rc01 -> 1.0.0 (*)
上面的摘录显示了 debugCompileClasspath
配置的一些依赖关系。我们可以看到 androidx.appcompat:appcompat
包含 androidx.browser:browser
作为传递依赖。
androidx.appcompat:appcompat:1.0.0-rc01 -> 1.0.0
表示将使用版本 1.0.0
而不是版本 1.0。 0-rc01
但 androidx.browser:browser
不是这种情况。将使用版本 1.0.0-rc01
而不是版本 1.0.0
为了解决这个错误,我只是通过在我的应用程序的 build.gradle
configurations {
compile.exclude group: 'androidx.browser', module: 'browser'
}
所以我的应用程序的 build.gradle 看起来像这样
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
apply plugin: 'realm-android'
android {
//....
}
configurations {
compile.exclude group: 'androidx.browser', module: 'browser'
}
dependencies {
// ....
}
在那之后,我只是同步、清理并重建了我的项目。
更新
如果答案没有解决您的问题,另一种选择是使用 android studio 稳定版(根据本文编写的 3.2.1)和 gradle 3.2.1 classpath 'com.android.tools.build: gradle:3.2.1'
关于android - 类描述符 'Landroid/support/customtabs/ICustomTabsCallback/;'不能用dex格式表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52639577/
I updated my android studio to version 3.3 canary 13 (latest as of this writing). I was prompted
我想通过 CustomTab 或 Chrome 发送 POST HTTP 请求,然后最终显示页面。我做了很多研究,但没有办法。 有办法吗? 可以通过 Volley 发送 POST 请求,然后最终在浏览
我需要帮助,我有一个在 ViewController 之间切换的库调用 CarbonKit,它的行为方式与 Android 上的选项卡相同,我现在遇到的问题是选项卡的数量或要使用的 viewContr
我遵循了最近的 Google 指南 Trusted Web Activities我的应用程序在我的设备和一些特定的模拟器上运行良好。 但是,在某些设备和模拟器(例如 Google Pixel 2)上,
我正在尝试使用自定义选项卡实现 OAuth2 登录流程,但在登录成功后,使用以下 url 检索到 302 重定向:“my.app:/oauth2/code?xxx”。 现在我已经在 AndroidMa
我希望 Chrome CustomTab 始终在 Chrome CustomTab 中打开 url。即使有一个 Intent 可以去的外部应用程序。现在,系统会提示用户是否要在 Chrome 或外部应
问题很简单。当我开始速度测试(例如 fast.com 或 speedtest.net)时,结果始终低于在 Chrome 应用程序或自定义选项卡中启动的结果,通常在 WebView 中的结果要低两倍。
尝试使用 Microsoft.Identity.Client v1.1.0-preview 通过 Microsoft 对用户进行身份验证。当我执行 App.IdentityClientApp.Acqu
我在 android 中使用 Chrome customTabs,我需要实时获取当前 URL,这意味着一旦它发生变化,就会触发回调。 我发现了两个可能有用的东西。 CustomTabsCallback
我将我的 android studio 更新到版本 3.3 canary 13(撰写本文时为最新版本)。我被提示更新我的项目的 gradle 版本,我将它更新到版本 3.3.0-alpha13 类路径
我的应用程序打开了一个 customtabs 浏览器,当浏览器遇到某个 url 时,我想弹回打开我的应用程序。 我发现这个帖子有效 - Android - create a schema for my
为自定义选项卡传递服务名称的公共(public) API 是什么?示例应用程序使用以下内容并按预期工作,但我在官方文档中没有看到它。 (https://developer.android.com/re
过去两天我一直被这个问题困扰。当我尝试生成 APK 时,出现以下错误。请协助我解决此错误。 普罗高德 -详细 -dontwarn android.support.** -dontwarn com.ba
java.lang.NoSuchMethodError: No virtual method launchUrl(Landroid/app/Activity;Landroid/net/Uri;)V i
我正在构建一个 Xamarin 应用程序! 当我安装 Xamarin.Android.Support.CustomTabs Nuget 包它向我显示了这个错误,甚至没有其他 nuget 包正在更新!
我正在尝试在 Xamarin.Forms 项目中实现 Xamarin.Auth 库。在我的客户端项目中安装该库后,我收到了 System.NotImplementedException: System
我正在开发一个Android游戏,并且已经有一个星期的时间,我竭尽全力通过Adtionb实现AdMob。它在编辑器中工作正常,但是在我构建时会引发以下错误。我确实尝试实现了多个其他插件,并且它们成功构
我正在尝试使用 chrome 自定义选项卡将 fitbit 与我的应用程序连接。但我收到以下错误。 java.lang.NoSuchMethodError: No static method star
我尝试使用 TWA [https://developers.google.com/web/updates/2019/02/using-twa][1] 将我的 pwa 应用程序转换为 android 应
我正在尝试使用 firebase 通过电话号码实现 OTP 验证,但出现错误: E/AndroidRuntime: FATAL EXCEPTION: main Process: com.was
我是一名优秀的程序员,十分优秀!