如何在Android应用程序中保护可绘制资源

时间:2011-02-10 01:50:06

标签: android drawable protection

请告诉我如何在apk包中保护我们的资源。 通过简单的重命名提取过程,任何人都可以复制和窃取应用程序可绘制资源,如图像或soundFX文件。 我的问题是,有没有办法保护Android应用程序中的可绘制资源?

3 个答案:

答案 0 :(得分:3)

操作系统需要可以访问drawable,因此它必须是可读的。

如果您确实希望保持其安全,可以考虑将其加密为原始资产,然后加载它,将其解密为ByteStream并将其传递给BitmapFactory。当然,这会产生轻微的性能影响,并会迫使您手动编写许多您可以用XML轻松完成的工作。

除此之外,有很多方法可以窃取数据 - 如果它是可绘制的,那么人们可以截取屏幕截图。

答案 1 :(得分:2)

  

我的问题是,有没有办法保护Android应用程序中的可绘制资源?

没有。资源在设计上是世界可读的。即使您不将“images或soundFX文件”打包为资源,但要在首次运行时下载它们,具有root访问权限的用户仍然可以访问这些文件。

由于这与人类已经开发的任何其他流行操作系统没有显着差异,因此不清楚为什么您认为这是Android问题。足够感兴趣的用户可以在iOS,Windows,OS X,Linux等上获取“images或soundFX文件”。即便是网络应用也无法免疫。

答案 2 :(得分:1)

我认为可以保护资源。实际上,读取资源的是低级别的类/例程:AssetManager - 普通Resources类位于AssetManager之上。因此,为了保护资源,可以使用AssetManager低级方法来加密资源并读取/解扰它们:look here