Android Studio 中 .AAR 内的类运行时出现 NoClassDefFoundError

2024-01-23

我已经研究了很多小时来寻找可能的解决方案,但无论我尝试什么,它都失败了。这是解释的情况:

我在 Android Studio 上有这个库项目,它生成app-debug.aar文件。 然后我在实施项目中添加这个新模块,按照向导导入 .JAR/.AAR,我选择.aar并更新依赖关系:app在项目结构中。

一旦项目被清理(即使使用./gradlew clean--Mac OS X)我可以在任何活动中引用此类及其方法。

现在在运行时,一旦在真实设备上构建并安装,应用程序将崩溃并抛出上述运行时异常。

注意:我正在导入.aar因为我需要保护代码并且它有资源所以.jar是不可能的。如果我导入库模块(使用源和全部而不是.aar)那么应用程序在运行时没有问题。

我已经尝试了一切,如果有人能解释一下这可能是什么,我将不胜感激。

班级延伸ViewGroup并在运行时实例化,以防暗示任何情况。该代码是给我的,因此除非绝对必要,否则可能无法进行重大更改。

先谢谢大家了!

Armando


对于那些仍在寻找解决方案的人来说,以下两个选项对我来说可以解决与OP提到的完全相同的问题。

  • 在目标模块中也包含(有问题的)库依赖项,即在我的情况下,我将 protobuf-lite 作为对我的库模块的依赖项包含在内,但得到noclassdefFoundlib 导入时出错.aar在应用程序模块中。作为解决方法,我添加了protobuf-lite也依赖于我的应用程序模块,它的作用就像魅力一样。

  • 对我有用的第二个选项是,我没有添加 gradle 依赖项“compile 'com.google.protobuf:protobuf-lite:3.0.1'”,而是从 maven 下载了 protobuf-jar 并手动添加到我的库模块的库中,问题就解决了。

不知道 gradle 插件出了什么问题,但希望它能帮助其他人寻找同样的问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android Studio 中 .AAR 内的类运行时出现 NoClassDefFoundError 的相关文章

随机推荐

  • 内部有图像的 div 的额外高度为 3px

    我正在开发一个新网站 但有一个小设计问题我无法理解 基本上 我正在创建一个用户可以上传有趣图片的网站 虽然图片显示的区域下面有3px的间隙 这是我的意思的屏幕截图的链接 死链接 我尝试了很多东西 但似乎没有任何效果 如果有人可以提出任何解决
  • 如何在Windows环境下以csv格式输出MySQL查询结果?

    有没有一种简单的方法可以从 PowerShell 命令行运行 MySQL 查询并将结果输出到 csv 格式的文件中 这个问题与如何以CSV格式输出MySQL查询结果 https stackoverflow com questions 356
  • Java:如何从字符串生成私钥?

    我正在尝试对消息进行编码SH1 RSA但除了一些基本信息外 我对安全主题没有任何经验RSA 我已获得私钥作为String 我已设法编写以下代码块来完成这项工作 但我不确定我是否安全正确地完成了这项工作 我不是专家 但我想将我的私钥作为字符串
  • 古巴库:架构 x86_64 的未定义符号

    我正在开发 M1 并尝试使用 libquadmath 和 Cuba 库编译 cpp 代码 在网站上 http www feynarts de cuba http www feynarts de cuba 据说 我可以轻松地使用 GNU C
  • maven android插件:找不到Android SDK路径

    我用maven android plugin版本 3 3 2 当我尝试构建我的 android 项目时 出现以下异常 org apache maven plugin MojoExecutionException 找不到Android SDK
  • $/ 是否有可能支持正则表达式?

    去引用perlvar http perldoc perl org perlvar html 的价值 是一个字符串 而不是正则表达式 awk必须在某些方面做得更好 不难想到这样的功能会很有用的情况 解析具有可变长度记录的文件是我多次遇到的经典
  • 使用 cmake 错误链接 boost 日志

    什么可能导致以下问题 我尝试在 cmake 项目中使用 boost log 我的 CMakeList txt 文件如下所示 cmake minimum required VERSION 3 10 project boostLogTest s
  • 如何向一个 CSS 属性添加多个供应商前缀?

    我里面有一个图像 img container 我希望图像在容器内居中 div class col xs 12 col sm 4 col lg 4 img container img class img responsive img abou
  • MySQL 查询对 GROUP BY 中的结果进行排序

    我正在编写一个论坛系统 并试图获取某个主题的最后一篇文章 问题是我正在对主题 id 上的结果进行分组 但我无法找到一种方法来让最后的回复显示在分组数据中 这是我到目前为止的查询 SELECT SQL CACHE users user id
  • 有没有办法将 R 脚本文件推送到 sweave 文档中(与 tangle 相反)

    我经常创建特定的 sweave 文件来进行分析并生成 pdf 文档 但是 有时我想获取现有的 R 脚本文件并运行它 同时生成命令和输出的 pdf 我知道有一个 tangle 命令可以从 rnw sweave 文件中提取 R 命令来创建 R
  • devIL导致程序无法正确启动

    我只是尝试使用 devIL 和 ULIT 来帮助我加载 opengl 纹理 但是 每当程序启动时 我都会收到错误 应用程序无法正确启动 0xc000007b 单击 确定 关闭应用程序 发生了什么 我使用的是 Visual C 2010 RC
  • SQLite 实施不佳?第一次数据访问速度太慢

    我是 Android 编程新手 但我很习惯使用 SQLite 数据库 我的应用程序在 SD 卡上打开一个 SQLite3 数据库 并使用以下命令运行相对复杂的查询 5 个联接 1 个子查询 2 个 where 子句 SQLiteDataba
  • 如何从我的超级视图内的所有子视图中删除约束?

    我有一个 UIView 其中包含多个具有自己的约束的 UIView 子视图 如何删除子视图的约束 only removes the constraints on self view self view removeConstraints s
  • Protobuf消息到字节字段的JSON转换将字符串转换为base64?

    我有一个如下所示的原型文件 syntax proto2 package user message user message required bytes username 1 optional string phonenum 2 optio
  • SerialPort 的 Finalize() 在 GC.SuppressFinalize() 之后仍然调用

    我正在努力使用SerialPort在 C 中 发现 NET 中的串行端口 API 自 2010 年以来就有错误 我结合了 中制作的补丁这篇博文 http zachsaw blogspot ca 2010 07 serialport ioex
  • 固定 div 右侧的悬停菜单

    我有一个固定位置的 div 顶部面板 它还应在最右侧包含一个设置菜单 当前通过浮动 将鼠标悬停在设置图像上时 我想在图像下方显示一个菜单 我希望菜单像图像一样与右侧对齐 div div
  • VM 已变得“无法访问” - Vagrant 不再工作

    由于某种原因 今天早上当我跑步时 流浪向上 我收到以下错误 这已经工作了一年多 Your VM has become inaccessible Unfortunately this is a critical error with Virt
  • SignalR 连接/断开集线器爆炸

    也将此作为一个问题打开here https github com SignalR SignalR issues 417但希望有人看到这个 我有一个非常简单的集线器 它实现了 IConnected IDisconnect 在一个独立项目中 该
  • PDO MySQL fetchAll() 在结果中使用双倍的必要内存?

    当我使用 gt fetchAll 使用 PDO 当我执行以下操作时 结果数组看起来像这样print r Array 0 gt Array week gt 2006 03 05 0 gt 2006 03 05 ath gt 112 89166
  • Android Studio 中 .AAR 内的类运行时出现 NoClassDefFoundError

    我已经研究了很多小时来寻找可能的解决方案 但无论我尝试什么 它都失败了 这是解释的情况 我在 Android Studio 上有这个库项目 它生成app debug aar文件 然后我在实施项目中添加这个新模块 按照向导导入 JAR AAR