Android测试(一)——Apk文件结构以及Android组件介绍
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组件用于访问应用程序使用的结构化数据集。应用程序可以使用内容供应器访问和查询自己的数据或存储在手机中的数据。
Android测试(一)——Apk文件结构以及Android组件介绍的更多相关文章
- Android逆向基础----APK文件结构
参考这个博客 http://www.cnblogs.com/wangtianxj/archive/2010/06/13/1757639.html http://blog.csdn.net/bupt07 ...
- Android测试(二):Android测试基础
原文地址:https://developer.android.com/training/testing/fundamentals.html 用户在不同的级别上与你的应用产生交互.从按下按钮到将信息下载 ...
- Android测试:Testing Apps on Android
原文:https://developer.android.com/training/testing/index.html 测试你的App是开发过程中的重要组成部分.通过对应用程序持续的运行测试,你可以 ...
- 【Android测试】【随笔】Android Studio环境搭建
◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/5482778.html 随着Android Studio的推 ...
- Android:apk文件结构
Android apk文件,即Android application package文件. 每个要安装到Android平台的应用都要被编译打包为一个单独的文件,后缀名为.apk,其中包含了应用的二进制 ...
- Android基础——项目的文件结构(二)
Android基础--项目的文件结构(二) AndroidManifest.xml文件分析 [注]此项目文件结构仅限于Android Studio下的Android项目!!! 在一个Android项目 ...
- 【Android测试】【第十六节】Instrumentation——初识+实战
◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/5503645.html 前言 有朋友给我留言说,能否介绍一下 ...
- Android测试框架初步
一.实验目的 1.掌握android测试项目的建立 2.掌握android测试框架的基本内容 3.编写运行android测试 二.实验内容与步骤 建立android项目MyProject,运行截图如下 ...
- 转:Android 测试 Appium、Robotium、monkey等框架或者工具对比
原文地址:http://demo.netfoucs.com/u012565107/article/details/36419297# 1. Appium测试 (功能测试,用户接受度测试,黑盒测试) - ...
随机推荐
- delphi with... do和自定义变量重名
with类中的变量和外部变量如果重名,会将外部变量覆盖,这点需要注意!!!!!
- angular--获取时间方法services
写了一些公用方法获取自然周.传入开始和结束日期,获取中间全部日期等方法 .service('DateServices', [function () { // 获取某年自然周的方法 (如果是当年,只返回 ...
- -webkit-line-clamp、-webkit-box-orient vue 打包部署后不起作用??
场景分析:实际开发中,文字描述过长,需要两行或三行显示缩略显示: 实现过程: 实现过程遇到的问题:打包到线上后发现并没有-webkit-box-orient属性,导致省略号并没有按预期展示: 解决方法 ...
- 【托业】【跨栏】REVIEW2
supervise vt&vi 监督; 管理; 指导; storage capacity 存储空间,存储能力 be about to do sth =be going to do sth 将做 ...
- POI大数据Excel生成
package com.hd.erpreport.controller; import java.io.File; import java.io.FileOutputStream; import ja ...
- upload-labs
upload-labs是一个和sqli-labs类似的靶场平台,只不过是一个专门学习文件上传的.整理的很好,虽然并不能将服务器解析漏洞考虑进去,但毕竟一个靶场不可能多个web容器吧,关键是思路很重要, ...
- int 的重载
测试代码: 结果: 分析: 首先创建两个对象同时进行初始化所以两次调用带参的构造函数: 其次在创建一个 对象然后将其等于前两个对象相加,这里由于该类没有重载+运算符而是重载了int 所以当两个对象相加 ...
- visual studio code常用插件
1.auto close tag2.chinese language pack for visual studio code3.debugger for chrome4.docker5.html cs ...
- UI框架搭建DAY1
分析:UI框架主要是为了用户(使用框架的程序猿)更快捷.方便地开发UI,UI框架的好处还在于解耦,使得程序更具有灵活性. UI框架的核心是窗口的管理,窗口管理的主要任务就是显示窗口和关闭窗口. 因为窗 ...
- ASP.NET Core免费(视频)教程汇总
最近才开始学习ASP.NET Core,发现社区的学习资料很多,但是相关的视频教程不是很多,52ABP官方有两个视频教程,但是ABP框架比较臃肿,初学者学起来有点吃力,所以还是推荐大家先啃书或者官方文 ...