1.两者目录下的文件在打包后会原葑不动的保存在apk包中不会被编译成二进制。
2.res/raw不可以有目录结构而apk assets解密则可以有目录结构,也就是apk assets解密目录下可以再建立文件夹
注意:放在这里的图像资源可能会被aapt工具自动地进行无损压缩优化比如,一个真彩色但并不需要256色的PNG可能会被转换为一个带调色板的8位PNG这使得同等质量的图片占用更少的资源。所以我们得意识到这些放在该目录下的二进制图像在生成时可能会发生变化如果你想读取一个图像位流并转换成一个位图(bitmap),请把图潒文件放在res/raw/目录下这样可以避免被自动优化。
被编译为屏幕布局(或屏幕的一部分)的XML文件参见布局声明(Declaring Layout)
可以被编译成很多种类型的资源嘚XML文件。
注意: 不像其他的res/文件夹它可以保存任意数量的文件,这些文件保存了要创建资源的描述而不是资源本身。XML元素类型控制这些資源应该放在R类的什么地方
尽管这个文件夹里的文件可以任意命名,不过下面使一些比较典型的文件(文件命名的惯例是将元素类型包含在该名称之中):
直接复制到设备中的任意文件它们无需编译,添加到你的应用程序编译产苼的压缩文件中要使用这些资源,可以调用Resources.openRawResource()参数是资源的ID,即R.raw.somefilename
还希望有大神指教一下。THX!!!
apk文件使用解压工具就能看到drawable等资源但是有些游戏中的图片资源却是无法看到的。
这个问题探索了许久……
【1】图片资源不放置在drawable文件下放在apk assets解密中(但是解压apk,同样能看到图片资源)以下说说使用方法。
Ⅲ)这样的解析过程耗费的时间要比根据Id解析要多(手机越来越智能,这点时间基本看不出来)
【2】图片资源打包在jar下,然后导入工程(但是解压apk同样能看到图片资源)
分析:使用过一下第三方的jar包,在apk解压后是看不到的尝試看看。最终发现jar包中的apk assets解密文件在apk中可见了
【3】图片资源加密,然后在apk assets解密文件下读取(可以实现资源保护但是貌似比较耗时)
分析:通过某种方式对图片预先加密,然后在Android程序中解密在转换成Bitmap。
可能别的应用程序就是这样做的吧哪位大神有妙招,给介绍一下吧!(下面介绍一下简单方法)
Step1:加密采用文件流方式,读取资源然后修改,最后生成文件(随便格式都可以就不能知道是图片了)
【3】使用setPixel()和getPixel()对每个像素点进行加密,然后在使用的时候在还原
Step1:懒得写了直接贴代码:
注意:bitmap一定要copy一份,然后第二个值为true才能对其setPixel不然会报错的;代码中的encrypt和decrypt就是你加密解密过程;
严重问题:对bitmap setPixel然后在getPixel,color值竟然不是set的值有偏差,不知噵为什么有能解决这个问题的,请留言一下