- 2013-1-31 14:00:20
- 类型:原创
- 来源:电脑报
- 报纸编辑:高道龙
- 作者:
6大核心问题,进阶前认识APK
可能大家在下载APP的时候,并没有特别注意一个小小的程序到底包含哪些要素,那么小到几MB的APK文件到底蕴藏哪些奥秘呢?还是先从APK文件说起,追根溯源,即使小白理解也无压力。
Q1:什么是APK文件?
@lylone小虎:APK是AndroidPackage的缩写,即Android安装程序包(apk),我们手机中的应用都是在安装了相应的APK文件后才可以运行的。
Q2:APK文件里都包含哪些内容?
@lylone小虎:APK文件其实最原始的是zip格式,我们通过解压软件解压后,我们就可以看见文件的文件结构:1. META-INF\ (Jar文件中常可以看到)2. res\ (存放资源文件的目录) 3. AndroidManifest.xml (程序全局配置文件) 4. classes.dex (Dalvik字节码)5. resources.arsc (编译后的二进制资源文件)。
Q3:APK签名指什么,为什么要对应用签名?
@lylone小虎:在Android系统中,要求所有应用程序必须经过数字签名后才能安装,因为Android系统使用这个证书来识别应用程序的作者,并建立程序间的信任关系。
Q4:安装APK时获得的那些权限都有代表什么?会不会有什么危害?
@lylone小虎:我们日常在安装APK文件时,总是会提醒要求获得各种权限,而这些权限都有不同的作用,比如像新浪微博、QQ空间等很多应用都要求获取你的精确位置,这样就可以获取精确的位置信息。至于这些权限可能会带来哪些危害,在最新的Android4.2中已经用黄色字体进行了详细的注释,甚至在最新的豌豆荚中,也对可能带来的危害进行了特别标注(如图)。
获取粗略位置 | 通过WiFi或移动基站的方式获取用户粗略的经纬度信息,定位精度大概误差在30~1500米 |
获取精确位置 | 通过GPS芯片接收卫星的定位信息,定位精度达10米以内 |
控制定位更新 | 允许获得移动网络定位信息改变 |
获取网络状态 | 获取网络信息状态,如当前的网络连接是否有效 |
获取WiFi状态 | 获取当前WiFi接入的状态以及WLAN热点的信息 |
拨打电话 | 允许程序从非系统拨号器里输入电话号码 |
通话权限 | 允许程序拨打电话,替换系统的拨号器界面 |
处理拨出电话 | 允许程序监视,修改或放弃播出电话 |
改变网络状态 | 改变网络状态比如是否能联网 |
访问网络 | 访问网络连接,可能产生GPRS流量 |
修改电话状态 | 修改电话状态比如飞行模式,但不包含替换系统拨号器界面 |
处理拨出电话 | 允许程序监视,修改或放弃播出电话 |
读取联系人 | 允许应用访问联系人以及通讯录信息 |
开机自动允许 | 允许程序开机自动运行 |
账户管理 | 获取账户验证信息,主要为Gmail账户信息,一般只有系统级进程才能访问的权限 |
各种权限详细列表及解释,安装程序的时候,你可以详细查看
Q5:为什么我安装了游戏的APK程序还要下载数据包?目前很多人都用拇指玩平台来下载游戏,其游戏格式是GPK文件,这有什么不同吗?
@lylone小虎:这是因为部分游戏体积过大,如果用APK形式安装,会由于手机内存不够,造成安装失败或者无法运行的情况,也正是因为如此才会出现APK文件同游戏数据包分离的形式,即体积较大的数据包外挂到手机ROM或者SD卡上,而用户只需要安装体积相对较小的游戏主程序即可。至于GPK则是由拇指玩定义的一种文件格式,它是将Android游戏的APK安装包和数据包打包成一个文件,这是为了解决安装Android大型游戏时,避免下载游戏数据包的繁杂操作问题提出的解决方案。
目前拇指玩打包的GPK游戏最常见的安装方法有两种,一种是直接下载拇指玩官方的拇指玩安装器;另外一种方法是直接通过解压缩软件把GPK文件打开并且解压,然后复制到Android设备相应位置安装即可。
Q6: Android系统的应用是可以后台运行的,相对于iOS和Windows Phone的“墓碑”式的后台模式,自有独特的多任务运行的好处。请问后台运行有什么好处吗?
@lylone小虎:在Android系统中后台程序被分为两类,一种是类似于电话、短信的“高权限”应用,这些应用在后台运行时,依然会保留原本的各种服务和权限常驻在内存中,还有一些“低权限”的应用,比如一些游戏程序会采用同iOS类似的后台模式,只是将一些缓存数据保存在手机内存中,方便我们第二次载入。而且Android还有一套类似回收机制的内存管理机制,它会有一个规则来回收控制内存,即在对内存调度时有一个阀值,只有低于这个值,系统才会按照一定的规则关闭用户不需要的应用,使内存保持在一个可用的范围内。?
获取粗略位置 | 通过WiFi或移动基站的方式获取用户粗略的经纬度信息,定位精度大概误差在30~1500米 |
获取精确位置 | 通过GPS芯片接收卫星的定位信息,定位精度达10米以内 |
控制定位更新 | 允许获得移动网络定位信息改变 |
获取网络状态 | 获取网络信息状态,如当前的网络连接是否有效 |
获取WiFi状态 | 获取当前WiFi接入的状态以及WLAN热点的信息 |
拨打电话 | 允许程序从非系统拨号器里输入电话号码 |
通话权限 | 允许程序拨打电话,替换系统的拨号器界面 |
处理拨出电话 | 允许程序监视,修改或放弃播出电话 |
改变网络状态 | 改变网络状态比如是否能联网 |
访问网络 | 访问网络连接,可能产生GPRS流量 |
修改电话状态 | 修改电话状态比如飞行模式,但不包含替换系统拨号器界面 |
处理拨出电话 | 允许程序监视,修改或放弃播出电话 |
读取联系人 | 允许应用访问联系人以及通讯录信息 |
开机自动允许 | 允许程序开机自动运行 |
账户管理 | 获取账户验证信息,主要为Gmail账户信息,一般只有系统级进程才能访问的权限 |
报纸客服电话:4006677866 报纸客服信箱:pcw-advice@vip.sin*.c*m 友情链接与合作:987349267(QQ) 广告与活动:675009(QQ) 网站联系信箱:cpcw@cpcwi.com
Copyright © 2006-2011 电脑报官方网站 版权所有 渝ICP备10009040号