当前位置:首页 > 智能手机 > Android手机 > 技巧
小文件蕴藏大能力 Android APK速成面面观
  • 2013-1-31 14:00:20
  • 类型:原创
  • 来源:电脑报
  • 报纸编辑:高道龙
  • 作者:
【电脑报在线】如今Android设备是越来越多,而应用则是其中的灵魂。作为Android系统APP程序的文件扩展名APK,它也蕴藏着大能量。其实要做个APK达人并不难,本文就从APK程序的基础知识、开发工具、制作和修改方式、传播途径多种方式进行讲解,让大家通通透透了解APK程序,玩转Android。
  如今Android设备是越来越多,而应用则是其中的灵魂。作为Android系统APP程序的文件扩展名APK,它也蕴藏着大能量。其实要做个APK达人并不难,本文就从APK程序的基础知识、开发工具、制作和修改方式、传播途径多种方式进行讲解,让大家通通透透了解APK程序,玩转Android。
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 (编译后的二进制资源文件)。 

下载任意一个APP,将其后缀还原为zip,就可以用解压软件解压查看其包含的内容


Q3:APK签名指什么,为什么要对应用签名?
@lylone小虎:在Android系统中,要求所有应用程序必须经过数字签名后才能安装,因为Android系统使用这个证书来识别应用程序的作者,并建立程序间的信任关系。


Q4:安装APK时获得的那些权限都有代表什么?会不会有什么危害?
@lylone小虎:我们日常在安装APK文件时,总是会提醒要求获得各种权限,而这些权限都有不同的作用,比如像新浪微博、QQ空间等很多应用都要求获取你的精确位置,这样就可以获取精确的位置信息。至于这些权限可能会带来哪些危害,在最新的Android4.2中已经用黄色字体进行了详细的注释,甚至在最新的豌豆荚中,也对可能带来的危害进行了特别标注(如图)。

不仅在最新的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设备相应位置安装即可。


一般大型的游戏的APK文件和数据包是分离的,比如《极品飞车17》的数据包就保存在Android/data目录下,不过目前很多人都开始直接在拇指玩上下载最新的游戏


Q6: Android系统的应用是可以后台运行的,相对于iOS和Windows Phone的“墓碑”式的后台模式,自有独特的多任务运行的好处。请问后台运行有什么好处吗?
@lylone小虎:在Android系统中后台程序被分为两类,一种是类似于电话、短信的“高权限”应用,这些应用在后台运行时,依然会保留原本的各种服务和权限常驻在内存中,还有一些“低权限”的应用,比如一些游戏程序会采用同iOS类似的后台模式,只是将一些缓存数据保存在手机内存中,方便我们第二次载入。而且Android还有一套类似回收机制的内存管理机制,它会有一个规则来回收控制内存,即在对内存调度时有一个阀值,只有低于这个值,系统才会按照一定的规则关闭用户不需要的应用,使内存保持在一个可用的范围内。?

在Android系统中有很多程序永驻内存,即使退出应用,依然有进程和服务在运行,另外又有一些应用退出后只保留缓存在内存里,可以通过滑动列表窗口的方式关闭缓存





获取粗略位置

通过WiFi或移动基站的方式获取用户粗略的经纬度信息,定位精度大概误差在30~1500

获取精确位置

通过GPS芯片接收卫星的定位信息,定位精度达10米以内

控制定位更新

允许获得移动网络定位信息改变

获取网络状态

获取网络信息状态,如当前的网络连接是否有效

获取WiFi状态

获取当前WiFi接入的状态以及WLAN热点的信息

拨打电话

允许程序从非系统拨号器里输入电话号码

通话权限

允许程序拨打电话,替换系统的拨号器界面

处理拨出电话

允许程序监视,修改或放弃播出电话

改变网络状态

改变网络状态比如是否能联网

访问网络

访问网络连接,可能产生GPRS流量

修改电话状态

修改电话状态比如飞行模式,但不包含替换系统拨号器界面

处理拨出电话

允许程序监视,修改或放弃播出电话

读取联系人

允许应用访问联系人以及通讯录信息

开机自动允许

允许程序开机自动运行

账户管理

获取账户验证信息,主要为Gmail账户信息,一般只有系统级进程才能访问的权限

 

本文出自2013-02-04出版的《电脑报》第5期 D.智能手机
(网站编辑:AI高手)


我来说两句(0人参与讨论)
发表给力评论!看新闻,说两句。
匿名 ctrl+enter快捷提交