gpt4 book ai didi

java - 在 aar 库文件内的布局中获取 inflateException

转载 作者:行者123 更新时间:2023-12-01 18:39:27 28 4
gpt4 key购买 nike

我将我的项目转换为库,其中包含一些 java、布局、字符串、资源和菜单文件。现在我想在另一个项目中使用该 aar 文件。导出后,当我尝试从 aar 库调用 Activity 时,我收到二进制 XML 文件行 #: Error inflateing class 的错误。我使用了 MovableFloatingActionButton 自定义类,并仅在 aar 库内的布局中创建了按钮。

错误就像

> Caused by: android.view.InflateException: Binary XML file line #86:
> Error inflating class com.***.****.MovableFloatingActionButton
>
> Caused by: java.lang.ClassNotFoundException:
> com.***.****.MovableFloatingActionButton
>
> Caused by: java.lang.NoClassDefFoundError: Failed resolution of:
> Lcom/google/android/material/floatingactionbutton/FloatingActionButton;
>
> Caused by: java.lang.ClassNotFoundException: Didn't find class
> "com.google.android.material.floatingactionbutton.FloatingActionButton"
> on path: DexPathList[[zip file
> "/data/app/com.***.****-1/base.apk"],nativeLibraryDirectories=[/data/app/com.*****.****-1/lib/arm64,
> /system/lib64, /vendor/lib64]]

最佳答案

看起来类加载器没有找到用于扩展实例化该类的复杂 View 的类。可能出现的问题有:

-1-如果您的混淆器已启用,请尝试禁用它,并测试 View 或布局是否膨胀。如果有效,您需要为其配置 proguard 文件。

-2- 通过单击其最后一部分(布局 xml 文件中的简单类名称)来仔细检查拼写错误和膨胀类的包,在您的情况下,它应该是 com.google.android.material.floatingactionbutton。 FloatingActionbutton,(按住键盘上的CTRL键并单击xml标记的边框部分)如果打开源文件,则可以,否则类确实不存在,您需要编写正确的类路径来实例化它。

-3-如果您正在使用 multidex,或者您想支持 pre-art 设备,这些设备仍然使用 dex 而不是 art(主要是 pre-lollipop 设备),那么不要忘记覆盖 Application 类并使用 MultidexApplication 或包含AttachBaseContext() 将 Multidex.install(this) 放在主体内。并且不要忘记将此类的正确路径放入 list 应用程序标记中。

示例:

class MyApplication : Application() {
/**
* multidex support, do not remove to backward compatibility before ART (DEX need it)
* */
override fun attachBaseContext(base: Context?) {
super.attachBaseContext(base)

MultiDex.install(this)
}
...
}

和:

<application
android:name=".MyApplication"
android:allowBackup="true"
android:hardwareAccelerated="true" ... >

其中之一应该可以解决您的问题。

关于java - 在 aar 库文件内的布局中获取 inflateException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59969182/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com