android包作用
㈠ android 的apk包有什么组成
1.APK文件简介
APK是AndroidPackage的缩写,即即Androidapplicationpackage文件或Android安装包。每个要安装到Android平台的应用都要被编译打包为一个单独的文件,后缀名为.apk。APK文件是用专业软件eclipse编译生成的文件包,其中包含了应用的二进制代码、资源、配置文件等。通过将APK文件直接传到Android手机中执行即可安装。APK文件其实就是zip格式,但其扩展名被改为apk,用解压软件可以直接打开。通过WinRAR或UnZip解压后,你会看到有几个文件和文件夹。一个典型的APK文件通常有下列内容组成:AndroidManifest.xml程序全局配置文件classes.dexDalvik字节码
resources.arsc
编译后的二进制资源文件
META-INF\该目录下存放的是签名信息res\
该目录存放资源文件
assets\该目录可以存放一些配置文件
下面对这些文件和目录做些基本的注释和介绍。•AndroidManifest.xml
该文件是每个应用程序都必须定义和包含的文件,它描述了应用程序的名字、版本、权限、引用的库文件等等信息。需要解包后才能加以阅读。
•classes.dex文件
classes.dex是java源码编译后生成的java字节码文件。dex是DalvikVMexecutes的全称,即AndroidDalvik执行程序,并非JavaME的字节码而是Dalvik字节码。•resources.arsc
编译后的二进制资源文件。•META-INF目录
META-INF目录下存放的是签名信息,用来保证apk包的完整性和系统的安全。在eclipse编译生成一个apk包时,会对所有要打包的文件做一个校验计算,并把计算结果放在META-INF目录下。这就保证了apk包里的文件不能被随意替换。比如拿到一个apk包后,如果想要替换里面的一幅图片,一段代码,或一段版权信息,想直接解压缩、替换再重新打包,基本是不可能的。如此一来就给病毒感染
和恶意修改增加了难度,有助于保护系统的安全。•res目录
res目录存放资源文件。包括图片,字符串等等。解包后,几乎所有可能的修改和编辑工作基本都在这里。•assets目录
assets目录可以存放一些配置文件,这些文件的内容在程序运行过程中可以通过相关的API获得。
2.APK文件的解包和打包
APK文件是用专业软件eclipse编译生成的文件包。在网上可以找到许多软件来对APK的内容进行反编译,例如:可以通过AXMLPrinter2工具和命令:java-jarAXMLPrinter2.jarAndroidManifest.xml解开在apk中的AndroidManifest.xml。最近,业界有一个功能强大的解包打包工具包apktool,可以在Windows下用来方便快速地对APK文件进行解包和打包,给修改和编辑工作带来许多方便。下面来介绍它的使用。
1)APKtool软件包
APKtool软件包有2个程序组成:apktool.jar和aapt.exe另外提供一个批处理文件:apktool.bat,其内容为:java-jar"%~dp0\apktool.jar"%1%2%3%4%5%6%7%8%9
运行apktools.jar需要java环境(1.6.0版本以上)。apktool.jar用于解包,apktool.jar和aapt.exe联合用于打包。2)APK文件的解包
下面以解开Contacts.apk为例。首先把Contacts.apk复制到当前工作目录下(例:Test)。在DOS下打入命令apktooldContacts.apkABC
这里“d”表示要解码。Contacts.apk是要解包的APK文件。ABC是子目录名。所有解包的文件都会放在这个子目录内。3)APK文件的打包在DOS下打入命令
apktoolbABCNew-Contacts.apk这里“b”表示要打包
ABC是子目录名,是解包时产生的子目录,用来存放所有解包后的和修改后的文件。
New-Contacts.apk是打包后产生的新的APK文件。4)Framework框架文件
在解开APK文件时,apktool需要框架文件(framework-res.apk)来解码和打包。Apktool已经包含了标准的框架,所以在大多数APK文件的解包时,不需要另外提供框架文件。但是,某些制造商使用了他们自己的框架文件,为了解包,就不得不从手机中把框架文件(framework-res.apk)提取出来,然后安装到计算机。安装命令是:
apktoolifframework-res.apk
安装后就会得到:~\apktool\framework\1.apk5)解包、解包和签名批处理
在实际使用时,可能对多个APK文件进行处理。方便的做法是写成批处理文件。打包和签名可以一次完成。
解包批处理命令:
for%%iin(*.apk)dojava-jarapktool.jard%%i_%%i&&move_%%iModifying_Files&©%%iBackuped_Raw_Files&&@echoFile[%%i]unpackingprocessiscompleted!
打包和签名批处理命令:
for/d%%iin(*)docd..&&java-jarapktool.jarbModifying_Files\%%i&&
java
-jar
signapk.jar
testkey.x509.pem
testkey.pk8
Modifying_Files\%%i\dist\*.apk%%i&&ren%%iNew%%i&&moveNew%%iModified_Signed_Files&&@echo%%iCompleterepackingandSigning
㈡ Android包和Java包是什么关系
包(package)是Java提供的一种区别类的名字空间的机制,是类的组织方式,是一组相关类和接口的集合,它提供了访问权限和命名的管理机制。Android里也是一样是一种区别Android程序类的名字空间的机制,是类的组织方式,是一组相关类和接口的集合。
㈢ 一个android应用程序中为什么要有好几个包感谢您能指教
在java开发中,包是一个重要的程序结构化工具。例如,你身上为什么要有这么多包,如钱包、卡包、电脑背包等,是因为这些包的功能不同,你要用钱就到钱包中取、要用卡就打开卡包。你总不可能把所有的东东都放在一个包中,要用时到处乱翻吧。
㈣ android package是指什么
android package是指以apk作为扩展名的.apk安装包。
android package和Java中的package的作用是一样的
产生package这个概念的原因是管理和使用类和接口,以及避免名字冲突、控制访问等
包是一种松散的类的集合通常会把需要放在一起工作的类放在一个包里面
㈤ android sdk什么作用
SDK叫做软件开发工具包。
软件开发工具包(外语首字母缩写:SDK、外语全称:Software Development Kit)一般都是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合。
软件开发工具包括广义上指辅助开发某一类软件的相关文档、范例和工具的集合。
软件开发工具包是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等创建应用软件的开发工具的集合,一般而言SDK即开发 Windows 平台下的应用程序所使用的 SDK。它可以简单的为某个程序设计语言提供应用程序接口 API 的一些文件,但也可能包括能与某种嵌入式系统通讯的复杂的硬件。一般的工具包括用于调试和其他用途的实用工具。SDK 还经常包括示例代码、支持性的技术注解或者其他的为基本参考资料澄清疑点的支持文档。
为了鼓励开发者使用其系统或者语言,许多 SDK 是免费提供的。软件工程师通常从目标系统开发者那里获得软件开发包,也可以直接从互联网下载,有时也被作为营销手段。例如,营销公司会免费提供构件SDK 以鼓励人们使用它,从而会吸引更多人由于能免费为其编程而购买其构件。
SDK 可能附带了使其不能在不兼容的许可证下开发软件的许可证。例如产品供应商提供一个专有的 SDK 可能与自由软件开发抵触。GPL 能使 SDK 与专有软件开发近乎不兼容。LGPL 下的 SDK 则没有这个问题。
㈥ 今天android面试遇到这样一个问答题 求解 一个apk文件有哪几部分 各个部分的作用是什么
APK
是Android Package的缩写,即Android application package文件或Android安装包。每个要安装到Android平台的应用都要被编译打包为一个单独的文件,扩展名为 .apk。
APK
文件是用专业软件eclipse编译生成的文件包,其中包含了应用的二进制代码、资源、配置文件等。通过将APK文件直接传到Android手机中执行即可安装。APK文件其实就是zip格式,其扩展名被改为apk,在Windows下用解压软件WinRAR/WinZIP/7-Zip可以直接打开。解压后,你会看到有几个文件和文件夹。一个典型的APK文件通常有下列内容组成:
AndroidManifest.xml 程序全局配置文件
classes.dex Dalvik字节码
resources.arsc 编译后的二进制资源文件
META-INF\ 该目录下存放的是签名信息
res\ 该目录存放资源文件
assets\ 该目录可以存放一些配置文件
下面对这些文件和目录做些基本的注释和介绍:
• AndroidManifest.xml
该文件是每个apk应用程序都必须包含的文件,它描述了应用程序的名字、版本、权限、引用的库文件等等信息。
• classes.dex文件
classes.dex是java源码编译后生成的java字节码文件。dex是Dalvik VM executes的全称即
Android Dalvik执行程序。利用解析工具可以将其转换成java来加以阅读和理解。
• resources.arsc
编译后的二进制资源文件。在做主题美化时要常与这个文件打交
道。
• META-INF目录
META-INF目录下存放的是签名信息,有三个签名文件,用来保证apk包的完整性和系统的全。在eclipse编译生成一个apk包时,会对所要打包的文件做一个校验计算,并把计算结果放在META-INF目录下。这就保证了apk包里的文件不能被随意替换。比如拿到一个apk包后,如果想要替换里面的一幅图片,一段代码,或一段版权信息,想直接解压缩、替换再重新打包,基本是不可能的。如此一来就给感染和恶意修改增加了难度,有助于保护系统的安全。
•res目录
res目录存放资源文件。包括图片,字符串等等。
res下有若干个子目录,主要为drawable,layout,xml。
• assets目录
assets目录可以存放一些配置文件,这些文件的内容在程序运行过程中可以通过相关的API获得。
㈦ 在android开发中sdk各个文件夹有什么作用
add-ones:里面保存着一些附加的库,也就是第三方公司为Android平台开发的附加功能系统。(一开始此包为空)
build-tools:构建项目时用到的工具。当创建Android项目的时候会用到这个包。在创建项目的时候如果没有此包会报错。这里还包括一些编译工具,总之这个包不能少。
extras:该文件下存放了Google提供的USB驱动,Intel提供的硬件加速附件工具包。
platform-tools:该文件夹下放了Android平台的相关工具比如adb.exe、sqlite3.exe等。
platforms:这个文件夹是SDK里面最重要的文件,这个里面可以有许多不同版本的SDK。有时候我们在导入项目的时候发现导入后没有SDK,就是因为这里面没有我们导入项目编译时的SDK,我们需要在这里加入SDK或者在项目的根目录下的project.properties里面将target改为platforms里面有的版本重新编译即可。这里面有SDK不同的版本,每个版本下面又有许多文件组成。还有就是如果你再布局中如果编写没有错误,但是视图预览不了,可能是由于你SDK选择的版本有问题。
sources:这个文件夹下面存放的是Android的源代码。
system-images:存放的时创建Android虚拟机时的镜像文件。
tools:这个文件夹下存放了大量Android开发、调试的工具。
㈧ 安卓的游戏数据包有什么作用,还有个主程序,这两者的关系是什么啊讲下,谢谢、
您好,目前大型的游戏一般都是带有数据包的,这也是为了节省玩家的手机内存而设计的。玩家只需要安装主程序进手机,把数据包放到指定目录,主程序就可以读取数据包里的资源文件。这种优化了APK主程序,这样玩家并不需要安装庞大的APK而要等待漫长的时间,也为照顾了小运存的手机。数据包里大部分都是游戏所需要调用的图形,影片,模型等文件,都是资源文件为主。
对于数据包游戏的下载与安装,建议您使用当乐游戏中心,当乐游戏中心不仅拥有海量的游戏,而且对于数据包游戏可以一键安装,不需要您进行其他多余的操作即可进行游戏,下载地址为:http://app.d.cn/
感谢您对于当乐网的支持,当乐网(http://a.d.cn)有您更精彩,祝您游戏愉快。有更多其他问题请点击“求助官方客服”
㈨ Android App打包是怎么回事
Android App打包指的是将APP源码压缩成一个apk包的过程,具体步骤如下。
工具:eclipse
在eclipse中,工程上“右键”->导出。
让选择需要打包的工程,直接“Next”,到keystone页面
根据自己的情况填写,点击“Next”,生成keystore,到下一页面:
选择APK文件生成的位置,点击Finish,完成,把apk文件安装到手机上运行看是否正常运行。至此,全部结束!
㈩ 手机上的文件夹“android”是什么意思
一、安卓手机的Android文件夹里面的文件夹是用来放程序数据的。
二、android
手机文件夹代表的意思:
1.
/system/app
这里是android手机rom中的系统应用存放地,如果有Root权限可以将手机rom中自带的应用删除掉,这里面一般包含一个apk文件和odex文件,大家注意文件名一一对应,如何删除可以参考
如何删除Android系统自带软件
中方法。
2.
/data/data
这里是每个安装过应用的用户文件存储位置,一般为设置文件、数据库或临时缓存文件,进入后以每个软件的package
name包名来命名。
3.
/dev
这里是Linux系统常规文件夹,里面的文件很多都是设备模拟的文件系统,一般用户无需理会。
4./system/fonts
这里面保存着系统的字体,如果你有root权限,可以往里添加自己喜欢的字体,比如雅黑。
5.
/system/framework
这里是android系统的框架,里面保存着系统核心程序或java类库,十分重要里面的任何文件几乎都不要做删除操作。
6.
/media/audio
这里面保存着安卓系统默认的铃声,alarms是闹铃提醒的,notification是短信或提示音,ringtones是来电铃声,而ui是一些界面音效,比如键盘敲击声。
7.
/system/lib
里面保存的是系统底层类库,里面很多都是框架层的实现文件,一般以.so后缀结尾类似windows下的dll文件
.
SD卡中
1.
/mnt/sdcard或者/sdcard这是Android手机中SD卡的文件夹路径,其中/mnt/sdcard/是android
2.2或更高版本所使用的,而/sdcard是android
2.1或早期版本的存储卡位置。
2.
/mnt/sdcard/dcim或/sdcard/dcim这个DCIM文件夹是干什么用的,这里android123提示大家,一般数码相机都有DCIM文件夹,其中进入后Camera为手机摄像头拍摄的照片或视频存放位置。同时在DCIM文件夹中还有.thumbnails这个目录,在Linux中开头为“.”的文件夹就是开头为“点”的文件夹是隐藏目录,这里面记录着手机SD卡图片的缩略图。
3.
/mnt/sdcard/LOST.DIR或/sdcard/LOST.DIR这个LOST.DIR为SD卡扫描时发现的丢失文件,里面的文件用处不大,可以不用理会。