在您自己的 android 应用中调用第 3 方原生库

Calling 3rd party native library in your own android app

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

例如 - RarLab 的 android 应用带有一个原生库 librarlab_rar.so 至少适用于 4 个不同的平台。

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

您需要反汇编二进制 .so 文件并自行计算出 API。这个过程称为逆向工程

有关如何完成任务的想法,请参阅:How do I reverse engineer .so files found in android APKs?

一旦你弄清楚如何调用 .so 文件,你就可以编写你自己的 API 版本,然后你可以从 Java/Kotlin 调用它。

您放置在应用中 jniLibs/$(ABI) 文件夹下的任何 lib….so 文件将自动打包到 APK 并解压到设备(前提是 ABI火柴)。您可能需要为库编写自己的 Java 包装器,或者从同一个应用程序中重用您需要的 Java 类。