APK是Android Package的缩写,即Android安装包。APK是类似塞班SIS或SISX的文件格式。通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。
(1)APK文件的结构
APK文件和SIS一样最终把Android SDK编译的工程打包成一个安装程序文件格式为APK。APK文件其实是zip格式,但后缀名被修改为APK,通过unzip解压后,可以看到DEX文件,DEX是Dalvik VM executes的缩写,即Android Dalvik执行程序,并非Java ME的字节码而是Dalvik字节码。一个APK文件结构为:
res\:存放资源文件的目录。
AndroidManifest.xml:程序全局配置文件。
classes.dex:Dalvik字节码。(www.daowen.com)
resources.arsc:编译后的二进制资源文件。
经过总结后我们发现,Android在运行一个程序时首先需要unzip,这样做对于程序的保密性和可靠性不是很高,通过dexdump命令可以反编译。在Android平台中,Dalvik VM的执行文件被打包为APK格式,最终运行时加载器会解压,然后获取编译后的androidmanifest.xml文件中的permission分支相关的安全访问。但是这样仍然存在很多安全限制,如果将APK文件传到/system/app文件夹下,会发现执行是不受限制的。最终我们平时安装的文件可能不是这个文件夹,而在Android ROOM中系统的APK文件默认会放入这个文件夹,它们拥有着root权限。
(2)下载APK应用程序
使用手机内应用程序列表的Market程序,可以直接连接到Android Market,选择应用程序后,就会直接下载并安装到手机上。不过对使用Android仿真器的使用者而言,就没有如此方便了,Android仿真器并没有Android Market这个应用程序,只能使用内附的浏览器浏览Android Market,仅是浏览,因为Android Market不是采用通用网页浏览方式来下载文件,虽然可以使用常见的浏览器看到Android Market上的应用程序,但是没有办法下载到Android仿真器,只能是下载到计算上,而后再安装到Android仿真器上。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。