在Android中对终端用户模糊JNI代码
Obscuring JNI Code From End Users in Android
我写了一堆android JNI代码,我想为客户制作一个库。显然,我不希望客户能够看到我的JNI代码。是否有一种方法,我可以包括只是在一个库项目的so文件?
我已经尝试过使用System.loadLibrary(<library>);
,但每次我都会得到一个不满意的链接错误。
有一件事是有效的,我刚刚编译了我的项目并删除了所有的c文件。我仍然可以使用。so文件,但如果我执行make clean,它会删除我的。so文件,没有源文件就无法恢复。
简而言之,我想要的是能够自己编译一个so文件,并将它与一些与之交互的java代码一起提供给我的客户。我不在乎他们是否看到java"包装器"源代码,但我不希望他们能够看到JNI代码。我还希望他们能够像对待其他库一样对待这个库(即make clean不要破坏它)。
谢谢!
是否有一种方法,我可以在一个库项目中为他们包含so文件?
打包一个包含库的AAR,并将AAR作为工件托管给您的客户。有关示例,请参阅我的cwc - anddown库。AAR将包含您所支持的任何体系结构的.so
文件,以及为本机代码提供Java API的编译Java代码的JAR。
我还希望他们能够像对待其他库一样对待这个库(即make clean不要破坏它)。
嗯,根据定义, make clean
需要源代码。它还需要一个makefile,您可能不会分发它,因为没有源代码它是没有用的。
相关文章:
- 通过JNI传递数据数组的最快方法是什么
- 方便地对C++中的所有字符串文字进行模糊处理
- 为 NewObjectA() 函数创建 jvalues 的参数数组时出错 - JNI Invocation API
- 将 C# DLL 导入 C++ 以用于 JNI
- 想要检测图像中的模糊,但无法正确
- 用C++包装 Java 库 (JNI)
- 具有可分离内核的 2D 模糊卷积
- 如何通过 JNI 将 C 字符串表情符号传递给 Java
- JNI从Android调用C++方法
- JVM 如何执行 JNI
- React Native (Android):无法通过 JNI 在 jobject 中返回字符串
- 如何将字符串数组返回到 java JNI
- JNI 日期值转换问题,在C++中获取不同的长整型值
- JNI,使用两个 .so 文件时出错,其中一个文件需要另一个文件
- Winapi - SetWindowLongPtr in ShutdownBlockReason创建/销毁JNI本机代码
- 设置我的应用程序 API 感知并防止系统使其模糊和错误定位
- 如何组合许多连续的图像来模拟逼真的运动模糊?
- 将预编译的 C 共享库与 JNI/NDK 结合使用
- JNI 在应用程序中检测到错误:在为 innerclass 调用 NewObject 时使用了无效的 jobject
- 在Android中对终端用户模糊JNI代码