android源码中mm编译,如何将so库打包进apk?

jeffcumt 2016-07-22 10:49:18
需求:mm编译,将jni生成的so库打包进apk

遍历论坛&g&b,基本有两个方法
1. 使用IDE,将so放到libs目录下,会自动打包 》》 需求是不使用IDE,仅有android源码
2. Andorid.mk添加编译项来包含so

我的做法如下,结果无法将so打包进apk,求不吝赐教!

目录结构:packages/apps/usbtest
AndroidManifest.xml
Android.mk
jni/
res/
src/

根目录Android.mk
(jni实现的是调用open/read/write/ioctl对设备节点操作)
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(call all-subdir-java-files)
LOCAL_PACKAGE_NAME := usbtest
LOCAL_JNI_SHARED_LIBRARIES := libjni_usb
include $(BUILD_PACKAGE)
include $(call all-makefiles-under,$(LOCAL_PATH))

jni目录下Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE := libjni_usb
LOCAL_SRC_FILES := jni_file.c
include $(BUILD_SHARED_LIBRARY)

java文件:System.loadLibrary("jni_usb")

mm编译成功,在 system/app/usbtest 下生成
usbtest.apk  #打开发现没有包含 libs
lib/arm64/libjni_usb.so #链接,指向system/lib64/libjni_usb.so



...全文
724 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
yoveldf 2016-08-25
  • 打赏
  • 举报
回复
楼主问题解决了没有
jeffcumt 2016-07-22
  • 打赏
  • 举报
回复
add:源码版本为 Android 6.0.1

80,354

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧