如何使用 Gradle 将版本化的 *.so 文件包含到 apk 中?

2024-01-09

我尝试使用一些预编译的本机库构建 Android 应用程序:liba.so and libb.so.1.2.3

库被放置在 jniLibs 子目录中。 构建APK文件后,仅liba.so包含在其中,但不包含libb.so.1.2.3.

结果是可以预见的。应用程序在启动时崩溃。

如何使用构建脚本将 jniLibs 中的所有文件包含到 APK 中?


由于本机库正则表达式^.+\\.so$被用在Android Gradle 插件 https://android.googlesource.com/platform/tools/build/+/master/builder/src/main/java/com/android/builder/internal/packaging/Packager.java#58,不可能包括除.so文件使用jniLibs文件夹。即使您以某种方式将库添加到 APK,Android 上的动态加载器也是如此非常有限 https://stackoverflow.com/a/11085509/207861并且很可能无法加载它们。

您最好的选择是通过重命名库并更改其内部来完全删除该版本soname before链接到它。

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

如何使用 Gradle 将版本化的 *.so 文件包含到 apk 中? 的相关文章

  • android.view.InflateException:二进制 XML 文件第 6 行:膨胀类片段时出错

    应用程序启动时出现此错误 我收到主题中显示的许多此类错误 这些错误似乎是偶然的 我无法重现它们 从堆栈中我可以了解到 我的不同布局资源可能会发生此类错误 XML 的行也各不相同 谁能解释为什么会出现这个错误 我能做些什么来解决这个问题 09
  • 如何 adb 提取 SD 卡中文件夹中的所有文件

    我的 SD 卡中有一个文件夹 mnt sdcard Folder1 Folder2 Folder3 jpg 文件夹 1 和文件夹 2 的名称保持不变 文件夹 2 内有文件夹 3 4 5 等 我想使用 adb 将所有 jpeg 文件而不是所有
  • 减少 OpenGL ES 1.1 中纹理的内存使用

    我在 OpenGL ES 中的场景需要几个大分辨率纹理 但它们是灰度的 因为我仅将它们用于蒙版 我需要减少内存使用 我尝试使用 Bitmap Config ALPHA 8 和 RGB 565 加载这些纹理 ALPHA 8 似乎实际上增加了内
  • Gradle 添加多模块项目中的嵌套子项目作为另一个子项目的依赖项

    我有一个复杂但有趣的情况 这是我的文件夹结构的树形图 root settings gradle p1 p2 depends on p3 sp1 p3 sp1 sp2 我希望这能解释情况 现在我该如何添加sp1作为一个依赖项p2 到目前为止在
  • 启动应用程序时出现 NullPointerException

    我厌倦了启动我的 Activity 在 AndroidManifest 中声明 但后来我看到了错误 08 11 16 04 05 952 E AndroidRuntime 815 FATAL EXCEPTION main 08 11 16
  • Android 中的 Google Analytics - 过滤掉测试设备

    有没有办法让我的测试设备在我打开 Android 应用程序时不会向我的 Google Analytics 报告 我知道使用 AdMob 您可以添加测试设备 这些设备将加载虚拟广告 Android 上的 Analytics 有类似的东西吗 我
  • Android handler.postDelayed 正在停止我的媒体播放器以顺利运行歌曲?

    您好 我是 Android 编程新手 我在构建媒体播放器应用程序时需要很少的帮助 在该应用程序中我使用搜索栏来更新进度 如下所示 Handler handler new Handler paly setOnClickListener new
  • 如何使用ijkplayer库

    我要使用 ijkplayergithub链接 https github com bbcallen ijkplayer 我下载了这个 然后通过 文件 gt 导入 gt 常规 gt 现有项目到工作区 将其导入到 eclipse 中 之后我有三个
  • 小米Exif方向标签错误

    我在用着ExifInterface对于通过检测方向标签从图库中选取的旋转图像 它正在工作 最近我在小米9 SE上测试了应用程序 发现相机拍摄的照片有方向标签8 旋转270 但照片方向是正确的 不需要旋转 为什么方向标签错误 如何找到正确的旋
  • 推送通知不会弹出带有入门套件的react-native-firebase

    我已经克隆了React Native Firebase 启动器 https github com invertase react native firebase starter并进行了初始设置 然后根据文档重命名项目 然后添加google
  • Android 模拟器出现错误:冷启动:快照不存在

    我在使用 Android 模拟器 7 8 天后就遇到了问题 起初它根本没有运行 现在重新安装模拟器解决了这个问题 但又产生了新的问题 每当我运行模拟器时 都会花费很长时间 大约 5 6 分钟 然后显示错误 Cold Boot Snapsho
  • Android:实时图像处理

    我有一个应用程序 它进行相机预览 对每一帧执行一些基本的图像处理功能 例如边缘检测 颜色变化 图像扭曲等 并 实时 将修改后的帧显示到屏幕上 类似于Android Market中的 Paper Camera 应用程序 我的方法总结 我也做过
  • 具有多个 Item 布局的 ListView 适配器

    我正在考虑向我的 Android 应用程序添加一个带有缩略图的列表视图 左边是缩略图 右边是文字 有没有办法用单独的 xml 文件填充列表视图 例如 我可以为奥地利 英国 美国等提供单独的 xml 并将它们添加到列表视图中吗 我问的原因是
  • 以从左到右的模式启动 Activity

    我面临一个问题 我有三项活动 我需要向左滑动开始新活动 Activity1 Activity2 Activity3 means 当我单击按钮时 新活动不应像 Android 行为那样直接显示 我希望新活动来自右侧并显示在当前屏幕上 任何人都
  • 如何获取屏幕触摸的 x,y 坐标?

    当我的应用程序运行时 每当有人触摸屏幕时 是否有一种简单的方法来获取 x y 坐标 只是想将它们存储在一些整数中 覆盖onTouchEvent MotionEvent event 然后打电话event getX and event getY
  • Google Play 服务和“没有与此客户端 ID 关联的链接应用程序”

    我正在尝试按照 Google 的文档实施 Google Play 服务 当我尝试连接我的设备时 我看到以下内容GameClient E Volley 4953 il a Unexpected response code 401 for ht
  • 自定义 lint 规则,确保不调用特定方法

    我想确保在我的 Android 应用程序 Java 和 Kotlin 代码中 中不会调用特定类的特定方法 假设 我有一个名为Bar有两种方法 allowed and disallowed 这是代码 package com public cl
  • Android AudioRecord 与 MediaRecorder 录制音频

    我想在我的 Android 手机上录制人声 我注意到 Android 有两个类可以做到这一点 录音带 http developer android com reference android media AudioRecord html a
  • 错误:无法解析:com.itextpdf:itextpdf:4.2.2

    我正在尝试使用 itext 库在 android 中创建 pdf 文件 但每当我运行该项目时 我都会收到以下错误 Error Failed to resolve com itextpdf itextpdf 4 2 2 我已经在我的 grad
  • 如何在使用 Ionic3 开发的 PWA 中处理硬件后退按钮

    我使用 Ionic 3 开发了一个 PWA 基于选项卡 它工作正常 直到在 Android 浏览器中按下硬件后退按钮或浏览器的后退按钮 如果它从主屏幕运行 按硬件返回将关闭应用程序 如果应用程序在 android 中的 chrome 中运行

随机推荐

  • 识别某人正在玩的游戏而无需聊天(discord bot python)

    不和谐机器人蟒蛇 代码是 如果有人聊天 如果这个人正在玩 守望先锋 他或她将被提升为玩家角色 如果没有 他或她将被删除或什么也不会发生 但我正在寻找一种无需聊天即可识别正在玩的游戏的方法 有人能帮我吗 client event async
  • 在 PHP 中组合图像同时保留透明度

    看看这里 我想删除蓝色部分末端的白色东西 但我尝试了很多不同的方法 但都不起作用 如果需要 可以在以下位置找到 pnghttp tyilo jbusers com PNG http tyilo jbusers com PNG 文件夹 htt
  • Owl Carousel 2 - 如何获取当前物品?

    我正在使用 Owl Carousel 2 开发一个网站 我只想检测哪个项目显示在前面 以前是这样的 http owlgraphic com owlcarousel demos owlStatus html http owlgraphic c
  • 从不同文件夹加载 Jar 文件

    我目前正在制作 Minecraft Mod Loader package spideyzac import java util concurrent CopyOnWriteArrayList import org lwjgl opengl
  • 无法将 Enumerable.Count 与 List 一起使用,编译器假定为 List.Count

    我还没有注意到这种行为 也许是因为我更喜欢 VB NET 中的查询语法并将查询和执行方法拆分为不同的语句 如果我尝试编译以下简单查询 Dim wordList As List Of String New List Of String Dim
  • 如何使用spring mvc使用@RequestParam捕获多个参数?

    假设单击一个超链接并使用以下参数列表触发一个 urlmyparam myValue1 myparam myValue2 myparam myValue3 现在我如何使用捕获所有参数 RequestParam在 Spring MVC 中 我的
  • Firefox/Chrome 上的字体大小和缩进不一致

    Demo http jsfiddle net waitinforatrain 9JU5b http jsfiddle net waitinforatrain 9JU5b I m trying to make a notification i
  • 关于 iOS 本地化

    在以下文档中 http developer apple com library mac documentation MacOSX Conceptual BPInternational Articles LanguageDesignation
  • Maven打包有效pom

    我有一个带有许多子模块的 Maven 项目 其中一些子模块打包为 jar 并部署到 Nexus Maven 存储库 我遇到的问题是打包的 jar 引用了不一定部署的父 pom 有没有办法让Maven部署有效的pom而不是pom xml 您需
  • 使用 Swift 录制视频 avfoundation 时我做错了什么?

    我正在用 AVFoundation 快速录制视频 但看不到 file mp4 我不知道我是否正在录制并且保存得不好 或者我没有录制 因为我可以显示会话预览 所以所有组件都使其功能正确 我的代码是 import UIKit import AV
  • 如何将 Firebase 数据实时更新到 React 应用程序

    我正在开发一个将 Firebase 数据实时更新为 React 的应用程序 我想要做的是 用户更新应用程序中的状态 同时应该为另一个用户更新状态 我已经构建完成 但它不断渲染renderStatus 而且速度太慢了 我想在 RDB 数据更新
  • .NET Math.Round(,,MidpointRounding.AwayFromZero) 无法正常工作

    我使用的是 Visual Studio Professional 2012 我创建了一个新的 C ConsoleApplication 针对 NET Framework 4 5 代码如下 static void Main string ar
  • rake db:create - 找不到 JavaScript 运行时

    这是我得到的错误 sergio sergio VirtualBox blog rake db create rake aborted Could not find a JavaScript runtime See https github
  • MongoDB 范围分页

    据说在记录多的MongoDB集合中使用skip 进行分页速度很慢 不推荐 可以使用范围分页 基于 gt id 比较 db items find id gt ObjectId 4f4a3ba2751e88780b000000 它适合显示上一个
  • Android 媒体播放器 RTSP

    我正在尝试在 Android 设备上观看 RTSP 流媒体 但是如果服务器设置了流媒体密码 我的 Android 就无法播放它 如果没有密码就可以了 这是我的代码 public class VideoFragment extends Fra
  • python help('string') 与 help(list) 中的不一致?

    当我打字时help string 在 python 解释器中 我获得有关字符串类的信息 那里 upper 被表示为函数 但我只能将其称为类似的方法 hi upper 代替upper hi 因此 我们可以假设任何方法都将在内置模块的文档字符串
  • 在插入符中设置种子并行随机森林以获得可重现的结果

    我希望使用插入符包并行运行随机森林 并且我希望设置种子以获得可重现的结果 如下所示使用插入符号完全可重现的并行模型 https stackoverflow com questions 13403427 fully reproducible
  • 如何禁用 IE11 Web 浏览器控件缩放

    我花了 2 天试图解决这个问题 最后 我问你 亲爱的 StackoverFlowers 我正在 C 4 5 上开发一个用于 27 多点触摸屏的应用程序 我需要在其中包含一个 WebBrowser 元素 用户应该只能通过 Y 轴平移页面并单击
  • 公用文件夹中的文件可以被外界访问吗? - 导轨

    这是一个简单的问题 但我似乎无法在任何地方找到答案 如果您将一些文件 例如一些静态 PDF 存储在您的public目录 有没有一种方法可以让无权查看这些文件的人可以通过输入类似 url 来查看它们example com public sta
  • 如何使用 Gradle 将版本化的 *.so 文件包含到 apk 中?

    我尝试使用一些预编译的本机库构建 Android 应用程序 liba so and libb so 1 2 3 库被放置在 jniLibs 子目录中 构建APK文件后 仅liba so包含在其中 但不包含libb so 1 2 3 结果是可