如何解决使用 jni 库构建 AOSP 应用程序
我正在尝试在 AOSP 中构建一个 Android 应用程序。
我定义了 Android.bp
文件如下
cc_prebuilt_library_shared {
name: "libPrintString",target: {
android_arm: {
srcs: ["lib/libPrintString.so"],},android_arm64: {
srcs: ["lib64/libPrintString.so"],strip: { none:true,}
java_import {
name: "stringutils",jars: ["libs/stringutils.jar"],}
android_app {
name: "HelloWorld",srcs: ["src/**/*.java",],platform_apis: true,product_specific: true,certificate: "platform",privileged: true,static_libs: [
"com.google.android.material_material","androidx-constraintlayout_constraintlayout","stringutils",jni_libs: ["libPrintString"]
}
我已将我的应用程序放在 /packages/apps
文件夹中,该项目具有以下结构
+ HelloWorld
- Android.bp
- AndroidManifest.xml
+ lib
- libPrintString.so
+ lib64
- libPrintString.so
+ libs
- stringutils.jar
+ res
+ src
当我调用 make 时出现错误
FAILED: ninja: 'out/target/product/mydroid/product/lib64/libPrintString.so',needed by 'out/target/product/mydroid/product.img',missing and no known rule to make it
有人可以帮我找到解决方案吗?
解决方法
和构建系统折腾了很久,终于找到了解决办法,写了一篇小文章详细介绍了如何构建具有系统权限的应用
How to Build an Android Application with System Privilegies
我仍然不完全理解为什么一开始它不起作用,很可能是因为我的构建系统没有清理旧库,但现在一切正常。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。