所以我想阻止人们在我的应用运行时将文件复制出来。
1)是否有更简单的方法来检测文件是否从我的设备上复制而不是检查adb守护程序是否正在运行?
2)是否有一种简单的方法可以从应用程序枚举Android OS上运行的所有进程?
我知道Android不是一个非常安全的系统,但我至少想让人们很难从我的应用程序中复制文件。
修改
为了澄清我的问题,我存储在磁盘上的所有文件都是加密的。我担心的是,在我的应用程序中访问这些文件时,我需要解开这些文件。我试图阻止有人在应用程序运行时窃取这些文件。如果有人退出应用程序,我已经删除了未加密的文件。
另外,我专注于adb,因为我正在考虑尝试删除未加密的文件(如果由usb连接)。但是,我知道你仍然可以在root手机上通过wifi运行adb。现在我考虑一下,你也可以在root手机上通过wifi传输文件。
此外,显然没有设备上的文件也不是一种选择。
答案 0 :(得分:4)
您似乎专注于adb
,原因不明。
对于内部存储,用户无法使用adb
从设备的内部存储中复制文件,除非设备已植根。如果设备已植根,则不需要adb
来复制文件。
对于外部存储,它专门设计为允许任何应用或用户从中复制文件,而不是adb
。
因此,尝试检测adb
毫无意义。
我知道Android不是一个非常安全的系统,但我至少想让人们很难从我的应用程序中复制文件。
然后不要把文件放在设备上。
答案 1 :(得分:1)
我不确定您的用户是否会使用您的应用程序并将其手机置于USB模式,并在应用程序仍在运行时继续从应用程序文件夹中传输文件?
如果您的应用程序在运行时运行时需要一些文件,那么您不能将它们专用于您的应用程序吗?如this article中所示。或者只是不要将文件放在设备上:)
答案 2 :(得分:0)
我不确定“从我的应用程序中复制文件”是什么意思(您的应用程序旨在显示/提供文件,还是指您的应用程序使用使用的的资源和其他文件) )。
无论如何,你在浪费时间。 Android是一个非常开放的平台(特别是在root设备上),人们总是会找到一种方法来复制数据。