Android12上新增jar遇到的问题总结

最近在vendor目录下新增jar遇到一个问题,新增jar完全没问题,但是如果在framework/base/service下通过static_lib调用,就会出现如下报错,在SystemUI中调用都不会出现此问题,这个问题应该就是出现在framework/base/service这个目录下调用才导致的。

error: frameworks/base/services/Android.bp:82:1: module "services" variant "android_common": non-optimal order of jars on the system server classpath: 'services' precedes its dependency 'xxx', so dexpreopt is unable to resolve any references from 'services' to 'xxx'.

我尝试了好几种方法

  1. 将我这个jar目录移动到framework/base/service下,也是同样的报错,且我未修改我的任何代码。

  2. 在framework/base/service下创建目录,将我的jar移动到这下面,参考其他bp的写法,如下所示,就可以编译成功了。

复制代码
package {
    // See: http://go/android-license-faq
    // A large-scale-change added 'default_applicable_licenses' to import
    // all of the 'license_kinds' from "frameworks_base_license"
    // to get the below license kinds:
    //   SPDX-license-identifier-Apache-2.0
    default_applicable_licenses: ["frameworks_base_license"],
}

filegroup {
    name: "services.searchui-sources",
    srcs: ["java/**/*.java"],
    path: "java",
    visibility: ["//frameworks/base/services"],
}

java_library_static {
    name: "services.searchui",
    defaults: ["platform_service_defaults"],
    srcs: [":services.searchui-sources"],
    libs: ["services.core"],
}

2的结果就是不会有单独的jar生成到out下的system/framework下,只会有中间编译产物的jar生成,但由于这个也满足我的需求,就用这个方式了。

算是曲线救国了吧😂

相关推荐
千里马学框架4 天前
一起学 Android 14:ShellTransition 屏幕旋转过程深度剖析
android·智能手机·性能优化·framework·性能·屏幕旋转·rotation
美狐美颜SDK开放平台4 天前
开发直播APP时如何接入视频美颜SDK?开发流程与注意事项
android·人工智能·计算机视觉·音视频·直播美颜sdk
AFinalStone4 天前
Android7 SystemUI源码解析(七)Keyguard锁屏模块深度解析
android·systemui
致远ccc4 天前
Google Play 上架前如何测试 App?多国家 Android 环境测试
android·app测试·googleplay·多国家应用测试
ttyyttemo4 天前
Kotlin 协程中的 Job 结构化并发与取消
android
sun0077004 天前
tbox 4g/5g切换,导致wan ip 改变,导致车机旧网络不可用。需要重启车机才行
android
其实防守也摸鱼4 天前
内网穿透与反向代理:原理、工具与实战指南
android·大数据·运维·安全·网络安全·自动化·渗透
AFinalStone4 天前
Android7 SystemUI 源码解析(四)NavigationBar 导航栏与 SystemBars
android·systemui
JMchen4 天前
属性动画原理与高级动画实现
android·kotlin·canvas
AFinalStone4 天前
Android7 SystemUI 源码解析(二)启动流程深度解析
android·systemui