在android中读取你自己的应用程序文件?

问题描述:

我想从代码中读取我自己的android应用程序文件。 我的意思是说假设我的文件名是abc.apk,它已经安装在手机上。现在通过相同的应用程序(abc.apk),我想逐字节读取abc.apk文件。 是否可以通过代码。在android中读取你自己的应用程序文件?

编辑:我正在编辑进一步使用的问题。 如何通过本机代码获取我android应用程序的当前文件名。

感谢, 阿赫亚

这是可能的。这里是示例项目:http://dl.dropbox.com/u/1923577/android_native_read_apk.7z

它包含了所有的源代码(java nad C++)。 如果你从bin文件夹安装apk文件并在设备上运行,它会打印出android日志“D/TEST(18107):First 4 bytes = 50 4b 03 04”。这就是apk文件的前4个字节(用hexeditor检查它)。 我在无根设备上运行此操作。

+0

我想从非根源手机读取我自己的apk文件。 – Chetan 2012-04-23 04:06:10

+0

你能看到我的编辑吗? – Chetan 2012-04-23 08:00:50

我不认为这有可能股票的设备上。无法在没有root的情况下直接访问data/app /目录。

+0

我敢肯定,你可以读取/ data/app目录中的任何文件。当然 - 不在其他目录中。 – 2012-04-20 19:38:41

+0

如果我从市场上下载“Root Browser”,它会让我进入一些系统文件夹。在股票(非根植)Epic Touch 4G(Galaxy sII)上。但是当我进入数据时,它不显示文件/文件夹。我从来没有尝试过这种编程方式,但是如果应用程序能够对该文件夹进行编程访问,似乎他们会在浏览器中显示出来。可能是可能的,但我从来没有测试过它,而且我只是走出我认为我知道的=) – FoamyGuy 2012-04-20 19:45:28

+1

我怀疑这是不可能在非根设备上。 Android有意阻止对这些文件夹的访问,以防止用户滥用APK文件。我希望被证明是错误的提问者的缘故,但我敢肯定,这是不可能的,因为它意味着一个“安全”的东西 – dymmeh 2012-04-20 19:56:15