安卓JNI APK打包

 2023-01-19    418  

问题描述

我已经实施了JNI Android应用程序.该应用程序需要作为APK的一部分包装一些其他”共享libs”.使用Ecplise,我将这些LIB添加到项目的”/libs/armeabi”文件夹中.

但是,在启动应用程序(通过集成调试器)时,我添加的”共享libs”将从” Armeabi”文件夹中删除.

安卓JNI APK打包

  • 如何防止这些额外的液体被删除?
  • 如何确保将所需的SOS包装在APK中?

推荐答案

您无需将此库复制到libs文件夹.这项工作应由ndk-build.

完成

这两个步骤应该足够:

  1. 创建mylibs(您可以使用任何其他名称)在项目的根级别上.并将您的库放入此文件夹中.

  2. 对于每个库,在用您的库名称替换include $(CLEAR_VARS)语句替换mylib之前添加以下行:

    include $(CLEAR_VARS)
    LOCAL_MODULE:=mylib
    LOCAL_SRC_FILES:=../mylibs/libmylib.so
    include $(PREBUILT_SHARED_LIBRARY)

(LOCAL_SRC_FILES您可能需要略有不同的路径.这取决于您的日食配置.)

其他推荐答案

在此上下文中要添加的另一项注释是,外部共享Lib的路径必须相对于JNI目录(或任何SPCIFIED @ local_path),也就是说,” local_src_files:= ../..//../Android/ffmpeg/libavcodec/libavcodec.so”将在绝对路径无法的情况下工作.

以上所述是小编给大家介绍的安卓JNI APK打包,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!

原文链接:https://77isp.com/post/25852.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。