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测试 (功能测试,用户接受度测试,黑盒测试) - ...
随机推荐
- IntelliJ IDEA 下的svn配置及使用
首先,使用的时候,自己得先在电脑上安装个小乌龟.也就是svn啦. 第一步安装小乌龟. 如下: 具体安装好像没什么具体要求,一路next,就好. 如上图箭头所示,在安装 TortoiseSVN 的时候, ...
- eclipse 安装 lombok插件
下载插件 官网下载 :https://projectlombok.org/ 有些小伙伴官网可能打不开,现提供我的下载地址:https://files.cnblogs.com/files/niceyoo ...
- Python加密保护解决方案
防止代码反编译,高强度加密保护exe或pyc文件 产品简介 Python语言写的程序无需编译成二进制文件代码,可以直接从源代码运行程序.在计算机内部,Python解释器把源代码转换成字节码的中间形式, ...
- [js]设计模式小结&对原型的修改
js设计模式小结 工厂模式/构造函数--减少重复 - 创建对象有new - 自动创建obj,this赋值 - 无return 原型链模式 - 进一步去重 类是函数数据类型,每个函数都有prototyp ...
- npm 发布一个全局的指令
我们经常使用 npm i -g xxxx 安装完成一个包之后,就能直接使用对应的指令.例如安装 vue-cli 或者 express 等 那么下面我们自己做一个类似的效果: 首先要对 npm 发 ...
- 转载的web server实例
asp.net—web server模拟网上购物 2014-05-08 我来说两句 来源:asp.net—web server模拟网上购物 收藏 我要投稿 在学vb的时候学到了a ...
- Java-HttpURLConnection详细说明与实例
URLConnection 类是一个抽象类,代表应用程序和URL之间的通信连接,此类的实例可用于读取和写入此URL引用的资源.URLConnection 允许使用GET,POST或者其他HTTP方法请 ...
- 基于CSS属性display:table的表格布局的使用
项目改造中遇到DIV+CSS实现的table,新需求需要在表格使用单元格合并,网上调查返现CSS display:table实现的table表格,没有单元格的属性和样式,经过一番思考,曲折现实了单元格 ...
- JVM内存结构分析
对于Java程序员来说,内存是由JVM自动管理的,所以一旦出现内存泄漏或溢出的问题,不了解JVM的内存结构和各个内存区域的工作职责,将对解决问题带来很大的麻烦,本文参照周志明的<深入理解Java ...
- css根据子元素多少类设置子元素的属性--九宫格
.moment-image-div:nth-child(n+1):nth-last-child(-n+9){ width: 33.33%; float: left; } .moment-image-d ...