Android JNI APK打包

2024-05-28

我已经实现了一个 JNI android 应用程序。此应用程序需要将一些额外的“共享库”打包为 APK 的一部分。使用 Ecplise,我已将这些库添加到项目的“/libs/armeabi”文件夹中。

但是,当启动应用程序(通过集成调试器)时,我添加的“共享库”将从“armeabi”文件夹中删除。

  • 如何防止这些额外的库被删除?
  • 如何确保 APK 中包含额外必需的 SO?

您不需要将此库复制到libs自己文件夹。这项工作应该由ndk-build.

这两个步骤应该足够了:

  1. Create 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。这取决于您的 Eclipse 配置。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android JNI APK打包 的相关文章

  • 即使我单击“运行”,Eclipse 也会运行调试模式

    Eclipse 总是在调试模式下启动我的应用程序 即使我单击常规的 运行 按钮 有任何想法吗 我发现我必须重新启动 Xoom 才能使其再次正常工作
  • Phonegap(应用程序错误...发生网络错误)

    我已经使用phonegap 创建了一个版本 在index html 文件中 我编写了一个简单的iframe 用于加载网站 当我从phonegap获取本地url时它就起作用了 但如果我将整个构建作为 zip 文件上传到 PhoneGap 中
  • 需要对某些片段禁用 CollapsingToolbarLayout 的展开

    我有一个AppCompatActivity控制替换许多片段 这是我的布局 活动 main xml
  • 在 Android 市场中以编程方式检查我的应用程序版本

    目前 我正在启动时检查应用程序版本代码 并将其与我的服务器上的最新版本代码进行匹配 并根据此匹配 我发送用户从 Android 市场获取最新更新 它运行良好 但我的问题是我必须手动更改服务器上的最新版本代码 并且我不知道新版本何时发布APK
  • 将清除会话标志设置为 FALSE 后,我丢失了已发布的值

    有人有一个合乎逻辑的解释为什么尽管我有clear session flage false当我未连接到经纪商时 我没有收到我订阅的更新的已发布消息 将 aore提到的标志设置为 false 后 我运行了我的应用程序 并且我不断向主题发布一些值
  • 使用 START_STICKY 启动时服务进程被终止后的 onStartCommand

    我一直在阅读 Android 文档 我想知道是否有人可以阐明当以 START STICKY 启动的服务的进程被终止时服务实例会发生什么情况 我假设本地状态数据 实例变量 也丢失了 Android 在重新创建服务时是否会采取任何措施来帮助重新
  • 旋转 Google 地图中的两层标记图标

    在我的应用程序中 我向地图添加了一定数量的标记 如下所示 private fun addMarker googleMap GoogleMap location Location val options MarkerOptions optio
  • 检测设备方向

    我需要检测 Android 设备方向变化 而无需手动处理传感器数据 同时保持活动方向坚持某个方向 onConfigurationChange不会起作用 因为会让我的活动不旋转 通过使用传感器数据来检测方向变化 我认为这是轮子的发明 因为 A
  • Android中如何使用intent加载本地html页面?

    我的 asset 目录中有一个 html 文件 我必须使用 Intent 将其加载为浏览器应用程序 这是我的代码 但它不起作用 startActivity new Intent Intent ACTION VIEW Uri parse fi
  • 如何在Room的数据库迁移中正确添加索引?

    我在迁移 Room 数据库时遇到问题 在更新的数据库中 我必须将一个字段从整数更改为双精度值 我读到它并不像听起来那么容易 为了做到这一点 我必须使用这个更改后的属性创建新的临时表 复制前一个表中的所有值 删除旧的值 最后重命名临时表 我的
  • 如何让surfaceview透明

    大家好 我想让我的 DrawingSurface 视图透明 我尝试了很多东西 但它不起作用 这是我的 xml 代码 使我的表面视图透明
  • 使用 twitter API 1.1 在 Android 应用程序中显示 twitter feed

    基本上我想展示这个提要 https en twitter com epl live https en twitter com epl live在我的应用程序中 由于 twitter 更改了其 api 1 1 每个调用都必须经过授权 我发现的
  • DialogFragment 关闭事件

    我需要处理 DialogFragment 的结尾 在调用 dismiss 之后 例如 我会在关闭后 包含 片段的活动内显示一个 toast 我该如何处理该事件 覆盖onDismiss 在你的DialogFragment中 或者使用setOn
  • Android:从 PhoneGap 应用打开 Play 商店链接

    我想从我的phonegap 3 4 应用程序打开一个指向Google Play 商店的链接 呼唤market details id com google android apps maps导致 ActivityNotFoundExcepti
  • 如何获取Android中的所有主屏幕?

    我是安卓开发新手 我知道每个主屏幕都是启动器中的一个工作区 我想获取屏幕上所有应用程序图标的所有位置信息 那么有没有办法获取这些屏幕对象及其图标信息的列表 ADD 我更期待的是应用程序图标和屏幕之间的关系 例如 我想要某个应用程序图标的位置
  • 片段中的 SavedInstanceState 始终为 null

    我使用 XML 以及活动中的 setContentView 将片段附加到活动 A 有一个问题 因为我的片段中有非常动态的视图 所以当方向改变时 我必须恢复所有的观点状态 我有问题 因为我正在使用类似的东西 public void onSav
  • Android SDK WebView调用Activity

    我试图在单击 WebView 组件内的链接时启动活动 我的Webview已加载到里面Main java我想启动SubActivity java当点击网站内的链接时Main java 另外 如何将参数传递给此活动 Example inspec
  • FCM 主题是否适合更多用户?

    我对使用主题消息有点困惑 我的场景是根据通知触发一些作业 请帮助我更多地了解这一点 如果我们正在处理大量用户 则可以使用 FCM 主题向用户发送通知 我们可以只使用数据消息和主题消息吗 使用主题发送的消息是否保证送达 我在 FCM 文档中看
  • 在两个片段之间拖放视图

    我目前正在尝试在两个片段之间实现拖放 我已经将它们添加到我的活动中 如下所示 FragmentManager fm getFragmentManager FragmentTransaction ft fm beginTransaction
  • android.view.WindowLeaked - 使用对话框和新意图时

    我已经尝试了 stackoverflow 上提供的所有可能的解决方案 但我仍然在 logcat 中遇到此错误 活动 com xyz MainActivity 泄露了最初在此处添加的窗口 com android internal policy

随机推荐

  • 移动 Safari 事件问题

    我设计了一个网站 其菜单最初是不可见的 当用户单击按钮时 菜单将变得可见 用户可以通过两种方式隐藏当前可见的菜单 单击使菜单可见的按钮 单击网页上除菜单之外的任意位置 我对第二个选项进行编码的方式是将onclick事件到window元素 并
  • “--view_udf_resource”是否损坏?

    我想在视图中引用 UDF 根据 BigQuery 文档 bq 帮助 mk 以及这篇文章如何创建使用用户定义函数的 BigQuery 视图 https stackoverflow com questions 34167356 how do i
  • Android NDK 互斥锁

    我一直在将跨平台 C 引擎移植到 Android 并注意到它在调用时会莫名其妙地 并且不一致地 阻塞pthread 互斥锁 这个引擎已经在多个平台上运行了很多年 并且有问题的代码多年来没有改变 所以我怀疑这是一个死锁或其他有错误的代码 这一
  • 从 mongo shell 查找 mongoDB 上 2 个文档之间的差异

    我正在使用 mongodb 2 4 4 我想比较 2 个文档 然后仅使用 mongo shell 打印它们的差异 有没有办法比较它们 就像是 db collection compare first doc objectID blablalb
  • C++ OpenCV 3.4 / FFMPEG 3.4.1 VideoWriter 和 MP4 输出文件格式

    我正在运行 Linux 内核 4 9 35 ti r44 的 ARM BeagleBone X 15 Debian 机器 在我的 C Qt 5 应用程序中 我想将 cv Mat 帧保存为 MP4 格式视频 我安装了 libx264 并从头开
  • 在flutter中使用REST api将列表数据发送到cloud firestore时出错

    我无法在 flutter 中使用 REST api 将字符串列表发送到云 firestore here is my code Future
  • ListView 内的 EditText 失去焦点[重复]

    这个问题在这里已经有答案了 我最近遇到了这个问题 我想与大家分享我的解决方案 Problem 您有一个 ListView 每行都有一个编辑文本 如下所示 主列表 xml
  • cvc-complex-type.2.4.a:发现以元素“init-param”开头的无效内容

    这是我的web xml xsd
  • NGINX 和 Spark Java 之间的跨源通信

    我正在将 NGINX 和 Sparkjava 用于我的 Web 应用程序 我确信我已正确启用所有 CORS 标头 尽管如此 我还是得到了 XMLHttpRequest 无法加载http localhost 3003 platformAPI
  • include 内的 ASP.net 代码不执行

    我已经很长时间没有涉足服务器端了 但在我看来 嵌入在包含的代码文件中的脚本应该正常执行 由于某种原因 情况似乎并非如此 注意 下面显然是一个基于我的调试尝试的简化实现 实际上 我在实际项目中还得到了其他包含平面 HTML 和 JavaScr
  • 在 TypeScript 中使用最新的 JavaScript 功能,例如 ES2018

    我尝试搜索有关其配置的 TypeScript 文档 但似乎找不到这个简单问题的答案 简单地说 如何配置 TypeScript 编译器以便它知道我们正在使用哪些 JavaScript 功能集 例如 ES2019 发布了 我想 哦 想给我一些
  • XStream JavaBeanConverter 不序列化属性

    尝试使用 XStream 的 JavaBeanConverter 并遇到问题 很可能我错过了一些简单的东西 或者没有很好地理解 XStream 的转换器处理 XStreamAlias test public class TestObject
  • 单一职责原则的实施

    如果我将我的对象分解为 单一职责 是否有一个基本的想法 类似的对象应该一起生活还是分开生活 例如 如果我有 class Employee DataProvider IEmployee DataProvider class Employee
  • “检测到堆栈粉碎”消息打印到哪个流?

    考虑以下非常基本的程序 它在此处以多种形式出现在其他问题上 include
  • var x:* 在动作脚本中到底意味着什么?

    搜索 var 有点棘手 因为大多数搜索引擎都找不到它 与 var Object 相比 我不清楚 var 的确切含义 我认为它可以让我在对象上设置任意属性 例如 var x myObject x nonExistantProperty 123
  • 程序崩溃并显示 0xC0000005

    我一直在尝试运行我的代码 但总是以错误代码 0xC0000005 结束 include
  • LNK2019:函数 ___tmainCRTStartup 中引用了无法解析的外部符号 _main

    我有以下错误 LNK2019 函数 tmainCRTStartup 中引用了无法解析的外部符号 main 有很多与此错误相关的线程 但这些解决方案都不适合我 而且 没有人解释为什么会出现这个错误 I tried wWinMainCRTSta
  • 如何在类文件中使用BackGroundWorker?

    我的program cs调用mdi父frmMain frmMain 然后根据用户操作打开不同的子表单 所有的处理逻辑都写在BusinessLogic cs中 frmMain 在加载时调用 BusinessLogic cs 的方法来初始填充数
  • Vista 中的文本转语音

    我通过在 2000 NT XP 中使用 Delphi 创建 OLE 对象来做到这一点 如下所示 Voice CreateOLEObject SAPI SpVoice Voice speak 但这在 Vista 中不起作用 我怎样才能让我的程
  • Android JNI APK打包

    我已经实现了一个 JNI android 应用程序 此应用程序需要将一些额外的 共享库 打包为 APK 的一部分 使用 Ecplise 我已将这些库添加到项目的 libs armeabi 文件夹中 但是 当启动应用程序 通过集成调试器 时