有什么方法可以将 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/