android - 将 Android NDK 库限制为特定应用程序

标签 android c++ android-ndk java-native-interface shared-libraries

有什么方法可以将 Android NDK 库限制为特定的 JAVA 应用程序?我想阻止程序员在其他应用程序中使用我的库。

编辑

我正在构建一个将由用户(另一个程序员)在另一个应用程序中使用的共享库。

编辑 2 该库还包括一个通过 JNI 与 native 库交互的 java 库。

最佳答案

I would like to prevent programmers from using my lib in another applications.

...大概是为了某种复制保护。

您没有说“允许”的应用程序是由您还是其他人构建的。

如果是前者,将您的库静态链接到应用程序将很难在其他地方重用该库。

如果是后者,您可以使用一些技术,例如查看 /proc/self/exe 以从库中查找应用程序名称,如果您看到的不是您允许的,则退出, 但是

  • 此类技术可能会给您的客户带来麻烦,并且
  • 会增加你的支持负载(当他们在合法条件下失火时),并且
  • 会被中等复杂的对手轻易绕过。

也就是说,通常这是在浪费时间。

关于android - 将 Android NDK 库限制为特定应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32800245/

相关文章:

android - adb 安装系统应用

c++ - 上证累计求和

Android:找出线程运行在哪个内核上

安卓 ndk (opencv)

android - Eclipse 编译成功但仍然给出语义错误

android - 在 ActionBarSherlock 中将标题重力设置为中心

android - 检查字符串是否从我在 android 中的 View 中溢出?

android - 在整个 Android 应用程序中更改语言

C++检查回文时如何忽略上下的区别?

c++ - 为什么 C++ 库和框架从不使用智能指针?