作者:冰妞qb_424 | 来源:互联网 | 2023-09-01 09:39
APK文件结构:
assests目录:一般存放的是不会被编译处理的文件,一般是资源性质的文件或者配置文件;
libs目录:程序依赖的native库,包含针对特定处理器软件层的编译代码;
res目录:存放应用程序的资源;
META-INF目录:存放应用程序签名和证书,用来保证apk包的完整性和系统的安全性;
Androidmanifest.xml:应用程序的配置文件,该文件包含了应用程序的名字,版本号,所需权限,注册服务、链接的其他应用程序,声明四大组件,以及调用信息等;
class.dex:dex可执行文件,包含应用程序的全部操作指令以及运行时数据,class.dex是由Java字节码转换的Dalvik字节码;
Resources.arsc:资源配置文件,APP资源能根据配置的变化,索引到相应的资源都要依赖它。
另外介绍一下DEX(可执行文件)的概念:
DEX是Android系统的可执行文件,包括应用程序的全部操作指令,以及运行时数据。在程序编译过程中,java源文件先被编译成class文件,然后通过dx工具将多个class文件整合为一个dex文件,这样的文件结构使得各个类能够共享数据。
Android组件:
Android 应用程序由各种组件组成,它们一起创建可工作的应用程序。Android有哪些组件呢?。下面一一介绍它们:
活动( Activity) :Activity组件是用户可以与之交互的可视界面。它可以包括按钮,图像, TextView 或任何其他可视组件;
服务( Service) :Service组件在后台运行,并执行开发人员指定的特定任务。这些任务可以包括从 HTTP 下载文件到在后台播放音乐的任何内容;
广播接收器( Broadcast Receiver) :Broadcast Receiver组件是 Android 应用程序中的接收器,通过Android 系统或设备中存在的其他应用程序,监听传入的广播消息。一旦它们接收到广播消息,就可以根据预定义的条件触发特定动作。条件可以为收到 SMS,来电呼叫,电量改变等等;
共享首选项( Shared Preference) :应用程序使用 Shared Preference组件,以便为应用程序保存小型数据集。此数据存储在名为 shared_prefs 的文件夹中。这些小数据集可以包括名值对,例如游戏中的用户得分和登录凭证。不建议在共享首选项中存储敏感信息,因为它们可能易受数据窃取和泄漏的影响。
意图( Intent) :Intent组件用于将两个或多个不同的 Android 组件绑定在一起。意图可以用于执行各种任务,例如启动动作,切换活动和启动服务。
内容供应器( Content Provider) :Content Provider组件用于访问应用程序使用的结构化数据集。应用程序可以使用内容供应器访问和查询自己的数据或存储在手机中的数据。