我创建了一个包含 3 个类的 java 库,我在 "/frameworks/base/config/preloaded-classes" 中添加了这些类名以进行预加载。 但是在启动日志中显示以下错误。
W/Zygote: Class not found for preloading: com.example.my.lib.preloadlibshared.CalcUtil
W/Zygote: Class not found for preloading: com.example.my.lib.preloadlibshared.CompareUtil
W/Zygote: Class not found for preloading: com.example.my.lib.preloadlibshared.DrawUtil
我的目的是在我的 jar 文件中预加载类。
关于如何做到这一点的任何线索?
- 为 jar 库创建一个
Android.mk
,以将库构建为模块。 - 将库模块添加到
PRODUCT_BOOT_JARS
,该值将被写入init.rc
。 - 将库模块添加到
PRODUCT_PACKAGES
. - 将定义的类添加到
build/core/tasks/check_boot_jars/package_whitelist.txt
以避免对类进行系统检查。
在 *.mk 中使用PRODUCT_BOOT_JARS