在应用程序运行时阻止在Android设备上进行文件复制

时间:2012-01-27 16:40:58

标签: android adb drm

所以我想阻止人们在我的应用运行时将文件复制出来。

1)是否有更简单的方法来检测文件是否从我的设备上复制而不是检查adb守护程序是否正在运行?

2)是否有一种简单的方法可以从应用程序枚举Android OS上运行的所有进程?

我知道Android不是一个非常安全的系统,但我至少想让人们很难从我的应用程序中复制文件。

修改

为了澄清我的问题,我存储在磁盘上的所有文件都是加密的。我担心的是,在我的应用程序中访问这些文件时,我需要解开这些文件。我试图阻止有人在应用程序运行时窃取这些文件。如果有人退出应用程序,我已经删除了未加密的文件。

另外,我专注于adb,因为我正在考虑尝试删除未加密的文件(如果由usb连接)。但是,我知道你仍然可以在root手机上通过wifi运行adb。现在我考虑一下,你也可以在root手机上通过wifi传输文件。

此外,显然没有设备上的文件也不是一种选择。

3 个答案:

答案 0 :(得分:4)

您似乎专注于adb,原因不明。

对于内部存储,用户无法使用adb从设备的内部存储中复制文件,除非设备已植根。如果设备已植根,则不需要adb来复制文件。

对于外部存储,它专门设计为允许任何应用或用户从中复制文件,而不是adb

因此,尝试检测adb毫无意义。

  

我知道Android不是一个非常安全的系统,但我至少想让人们很难从我的应用程序中复制文件。

然后不要把文件放在设备上。

答案 1 :(得分:1)

我不确定您的用户是否会使用您的应用程序并将其手机置于USB模式,并在应用程序仍在运行时继续从应用程序文件夹中传输文件?

如果您的应用程序在运行时运行时需要一些文件,那么您不能将它们专用于您的应用程序吗?如this article中所示。或者只是不要将文件放在设备上:)

答案 2 :(得分:0)

我不确定“从我的应用程序中复制文件”是什么意思(您的应用程序旨在显示/提供文件,还是指您的应用程序使用使用的的资源和其他文件) )。

无论如何,你在浪费时间。 Android是一个非常开放的平台(特别是在root设备上),人们总是会找到一种方法来复制数据。