如何解决Android10 平台:调用 Aidl 库 API 时出现 NoClassDefFoundError
我们有一个名为 X 的类,它引用了类 Y 中的 aidl 库 LibA。还有一个名为Z的类,我们在Z类中有一个java sdk辅助库LibB。
Class X 正在尝试从 LibA testMethod(ObjectB)
调用方法ObjectB 是来自 LibB
的 Parcelable 对象当从 X 类调用 testMethod 时,我们遇到了 ObjectB 的 NoClassDefFoundError
如何在 Android 10 平台中解决此运行时问题。
我们使用 Android bp 文件约定在 Jenkins 平台上构建文件
ClassX
android_app {
name: "ClassX",srcs: [
"aidl/**/*.aidl","java/**/*.java",],libs: [ClassY.LibA],required: []
}
ClassZ => LibB
java_sdk_library {
name: "LibB",
清单:“AndroidManifest.xml”,
源代码:[
"java//*.java","aidl//*.aidl",助手:{
local_include_dirs: ["aidl"],},
api_packages: [
"LibB",compile_dex: 真,}
ClassY => LibA
java_sdk_library {
name: "LibA","aidl//I*.aidl",include_dirs: ["LibB/src/main/aidl"],static_libs: [ "androidx.annotation_annotation"],库:[“LibB”],
api_packages: ["LibA"],}
ClassY
android_app {
name: "ClassY",srcs: ["aidl//*.aidl","java//*.java"],库:[“LibB”,“LibA”],
要求:[“LibB”]
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。