今天鼓捣QQ时发现其apk第一目录下有个文件夹“com”,其下N多级目录后终于是个名为“wup.properties”的文本文件。如下图:
好奇心大起,这就是说android的程序可以像J2me那样读取本安装包任意地方的信息了(以前以为只能读取res/raw下的内容)。反编译之,经查,终于找到一个类名为“com/tencent/qq/jce/wup/WupInfo”。其代码如下:
关键代码就是try{}catch(){}中的内容了,利用getResourceAsStream("file_path")来获取输入流。我依样画葫芦在自己建个工程及在工程目录下建个相同目录结构的"wup.properties"文件,代码试下,不成功。后一想是eclipse未将该文件夹"com"一起打包进apk中,将手机中的测试包导出一查,确实如此。 解决办法是手动将“com/qq/jce/wup/wup.properties”放进apk压缩包后重新签名,成功。 |