如何保护Android应用程序免受ShareIT等共享应用程序的影响?

7
我正在开发我的词典应用程序,在我的应用程序中,我正在使用数据库来存储词典内容。因此,我正在尝试保护我的应用程序,以防止与ShareIT!或CSHare等应用程序共享我的应用程序。我看到很多人会使用这些应用程序传输所有应用程序及其数据,我正在寻找一种方法来阻止它或取消这个应用程序。
我的应用程序是高级版的,我知道可能有一些方法可以要求用户输入某些个人数据进行登录或类似操作。但我也看到了人们使用这些共享应用程序的情况。
我并不是要求给我一些代码或确切的示例(如果可能的话会更好),以防止这些共享!提供一些小信息和指南也将帮助我更好地开发和保护我的应用程序。
所以请帮助我,给我您的建议。

如果您没有通过“ContentProvider”提供对数据库的访问权限,那么您不必担心,因为除非用户设备已经取得了root权限,否则其他应用程序无法访问您的数据库文件。您还可以使用“SQLCipher”来加密您的数据库文件,这样即使文件被共享,他们也无法读写访问它。 - Pztar
1个回答

11

你无法阻止用户共享APK,但可以构建逻辑来允许或拒绝用户使用你的应用。

你可以做以下两件事情。

1)验证安装程序

如果安装程序是真实可靠的(如Play Store、亚马逊商店),则允许用户使用。

public static boolean verifyInstaller(final Context context) {

   final String installer = context.getPackageManager()
          .getInstallerPackageName(context.getPackageName());

   return installer != null && 
           installer.startsWith(PLAY\_STORE\_APP\_ID);

}

2) 使用Google Play许可证许可验证库

使用Google Play许可证,您的应用程序可以在运行时查询Google Play以获取当前用户的许可状态,然后根据需要允许或拒绝进一步使用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接