我正在 Android 中创建一个应用程序。我希望一旦我的应用程序安装在一台设备上,用户就不能复制“.apk”并在其他设备上运行它。请帮帮我。提前致谢。:)
3 回答
我即将给出的答案不是您想听到的答案,但请通读一遍,因为我会证明这个答案的合理性,并为您提供一个您可以在您的应用程序中使用的替代模型。
一般来说,您不应该寻找一种绝对成功地保护您的应用程序免遭盗版的方法。如果有足够的兴趣,一个坚定的盗版者将能够在某个时候移除保护,并分发修改后的应用程序。
即使是像 Apple iPhone 这样相对封闭的设备也存在越狱设备的盗版问题,并且一个坚定的攻击者将在某个时候能够打开您的应用程序。我再举一个例子来说明保护软件的难度:Microsoft Windows。如果微软和苹果凭借他们所有的资源和专业知识都无法有效地解决这个问题,你真的认为你能做到吗?
相反,我鼓励您以这样一种方式对您的应用程序进行编程,即您使用依赖于您控制的服务器的软件功能。这样,你就掌握了王国的钥匙。当人们进行购买时,向他们询问将他们与服务器联系起来的登录名/密码。
例如,如果您正在编写游戏,请根据您作为开发者/分销商控制的服务器与其他玩家互动,从而充分利用游戏社区功能。
对该模型进行轻微修改后,客户可以免费访问该应用程序,但功能有限,然后在购买时获得全部功能。从这个角度来看,盗版不再是一个问题,事实上,甚至盗版你的应用程序的动机也消失了。最后,像这样的基于服务的模型可能是一个更好的解决方案,而不是徒劳地依靠一些技术魔法来保护您的应用程序免受窥探。
如果您计划通过 Android Market 分发您的应用程序,请使用Android Market Licensing。
Android Market Publisher 中还有一个复制保护选项,但它已被弃用,Google 建议改用许可。
如果您不通过 Android Market 分发应用程序,我建议您查看 Android Market Licensing 源代码并使用您自己的服务器实现类似的系统。
看看android 许可。