猿问

在您自己的 Android 应用程序中调用第 3 方本机库

是否可以为您自己的 Android 应用程序中没有源代码的本机库编写代码?

例如 - RarLab的 android 应用程序带有一个librarlab_rar.so用于至少 4 个不同平台的本机库。

假设我这样做是为了实验,版权不是问题,而且我不打算在外部分发该应用程序,是否可以编译一个基于 Java/Kotlin android 的应用程序,只在 android 开发中包含本机二进制文件Android Studio 或 Eclipse 等工具?



BIG阳
浏览 119回答 2
2回答

慕村225694

您需要反汇编二进制.so文件并自己制定 API。这个过程称为逆向工程。弄清楚如何调用文件后.so,您就可以编写自己的 API 版本,然后可以从 Java/Kotlin 调用它。

猛跑小猪

lib….so您放在应用程序文件夹下的任何文件jniLibs/$(ABI)都会自动打包到 APK 并解压到设备(前提是ABI匹配)。您可能需要为这些库编写您自己的 Java 包装器,或者从同一个应用程序中重用您需要的 Java 类。
随时随地看视频慕课网APP

相关分类

Java
我要回答