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