当我将 APK 文件发送到某人的电子邮件时,他可以将文件复制一百万次并出售一百万次,但我不希望那样。
如何将保护集成到 Java 文件、manifest.xml 或其他地方,以使程序的副本不起作用?或者我可以为 APK 文件设置一个一次性密码吗?
你不能。没有办法做到这一点。当您通过电子邮件将 apk 发送给某人时,不需要的分发是您必须承担的风险。
您可以做的最好的事情是每次通过电子邮件将其发送给某人时编译一个单独的 apk,并在其中放入一个唯一的代码。当应用程序首次启动时,让它在在线服务器上注册。如果有人再次尝试注册相同的代码,那么您就知道该 apk 已发送给其他人或安装在多个设备上。在这种情况下,您的服务器可以告诉您的应用程序该特定代码已被使用并拒绝工作。
这种方法的缺点:
简而言之,没有万无一失的方法可以做到这一点。
如果您希望您的用户能够安装应用程序,您没有任何方法可以做到这一点
一种可能的解决方法是测试 DeviceID,并仅在 DeviceID 已获得授权时才允许应用程序继续运行。
显然,您必须在代码中进行管理,如果您需要授权大量设备,这可能会变得非常麻烦。另外我不确定每个设备都有一个 DeviceID
请参阅是否有唯一的 Android 设备 ID?有关此的更多信息
使用以下选项之一创建一个只需几行额外代码的自定义 APK
如何保持应用程序启动的时间计数,如果超过显示消息并关闭它?
或者,您可以检查代码中的试用天数,在 MainActivity/Base Activity 中检查从现在开始的 5 天,如果超过退出应用程序。
您始终可以将此详细信息保存在应用程序的共享首选项中并与之交叉检查。