2013-02-02 22 views
2

我是新来的机器人。我有一个应用程序,使我必须限制应用程序的.apk文件被用户共享给其他手机android手机持有者。限制Android应用程序的共享apk

它就像如果我在我自己的网站上保存我的.apk文件,那么我希望用户可以从我的网站上下载.apk文件,但不能与其他人共享相同的.apk文件。我想限制apk的多个手机共享。每次用户想要安装他/她必须安装的应用程序,如果从播放或通过我的网站安装,但.apk共享无法安装。

另外我想问一下,如果我们能分辨应用程序是分布式安装还是从游戏中安装。

那么你能告诉我一些出路吗?

在此先感谢

+1

开发者控制台提供许可密钥功能,但我认为这不适用于您的网站。 – anthropomo

回答

3

1)你不能阻止用户转发你的apk,如果他们有apk存储,你可以做的是在你的应用程序安装后删除它(你应该通过一些API来搜索它,如果发现删除它),限制: - apk可以在安装前共享。

和有在市场其中权利要求安装的应用程序变换成APK工具/应用程序存在,然后可被转发到其它装置。

Similar question on Forward locking of apk

2)虽然你不能阻止用户在您的APK的转发,但可以阻止其它用户使用它,如果他们接受这个应用程序从其他来源,然后你网络,因为我我自己做的更早,通过客户端服务器通信其中一个密钥正在生成服务器上基于移动IMEI,所以这个程序将被激活的特定移动基于IMEI号码。因此,如果其他用户尝试使用它,您可以检查这个IMEI是否注册,并采取相应措施。

+0

嗨AND_DEV我想我们可以在存储IMEI号码的webservices的帮助下做到这一点,并在每次启动应用程序时检查它,如果它没有安装新的IMEI号码。 –

+0

你不能阻止用户安装,但耶可以阻止他使用你的应用程序。那我在我的文章第二段说的 – AAnkit

0

除非用户使用USB数据线/天文文件管理工具一样,有根的手机上,他将无法提取APK出来,转移到另一部手机。而知道如何对设备进行根目录的用户比例非常低。所以这个问题不应该出现。

即使假设用户可以非常容易地提取一个apk(一般用户不会这样做),问题也会缩小为在每个apk上生成一个唯一的标识符字符串,然后将其打包在此apk中。现在,当它被提取并安装在其他设备上时,应用程序可以使用标识符进行检查,并在显示“不可复制”消息后关闭。

请注意,标识符应该绑定到唯一的字符串,比如设备的IMSI号码或电话号码,或者两者的组合。并且这个字符串需要被写入一个当apk被复制时转移过来的文件,我会在这个apk的资源文件夹中推荐一个属性文件。希望这可以帮助

+0

你好@Omermuhammed我在想同样的事情,但我必须做2 apk吗?一个用于安装,另一个用来检查设备的唯一编号是什么? –

+0

不会通过一个apk来完成。 – omermuhammed

+0

你错了。阅读APK无论是亚行还是根都不需要。他们的存储位置不可*可浏览*但文件本身是可读的,并且它们是设备上的可读信息,它们给出了确切的位置。 –

-1

如果我们设法将应用程序数据文件夹与该应用程序的APK文件相关联,那么我们的问题将很容易纠正。就像您将应用的文件夹发送给某人一样,那么应用会自动将您的数据加载到其他用户。如果他不能分开这两样东西(APP的APP文件和APP的数据文件夹)。 希望它能帮助你...还有我..

+0

没有这样的存储连接 –

相关问题