是否可以为本机库编写代码,您在自己的Android应用中没有源代码?
例如 - RARLAB的Android应用程序具有至少4个不同平台的本机库librarlab_rar.so
。
假设我正在为实验和版权而执行此操作,这不是问题,我不打算外部分发该应用程序,是否可以编译Java/Kotlin Android App,仅包含本机二进制在Android开发工具中,例如Android Studio或Eclipse?
您需要拆卸二进制.so
文件并自己处理API。此过程称为反向工程。
请参阅:如何反向工程师.So在Android APK中找到的文件?有关如何完成任务的想法。
一旦您找到了如何调用.so
文件,就可以编写自己的API版本,然后可以从Java/Kotlin致电。
应用程序中jniLibs/$(ABI)
文件夹下的任何lib….so
文件都会自动被包装到APK并打开包装到设备上(前提是 abi 匹配(。您可能需要为库编写自己的Java包装器,或重复使用同一应用中需要的Java类。