序言

APK(全称:Android application package,Android应用程序包)是Android操作系统使用的一种应用程序包文件格式,用于分发和安装移动应用及中间件。

APK 文件基于 ZIP 文件格式,它与JAR文件的构造方式相似。

APK 文件结构

assets (原生资源文件)

lib

META-INF (签名信息文件)

res (资源文件)

存放字符串、图片、视图Layout文件等,在Java代码中可以以R.xxx 形式引用。

AndroidMainfest.xml文件

APK的应用清单信息,它描述了应用的名字,版本,权限,引用的库文件等等信息

resources.arsc文件

classes.dex(代码)

java源码编译后生成的java字节码文件,APK运行的主要逻辑

Android APK 文件结构的更多相关文章

  1. Android:apk文件结构

    Android apk文件,即Android application package文件. 每个要安装到Android平台的应用都要被编译打包为一个单独的文件,后缀名为.apk,其中包含了应用的二进制 ...

  2. Android逆向基础----APK文件结构

    参考这个博客 http://www.cnblogs.com/wangtianxj/archive/2010/06/13/1757639.html http://blog.csdn.net/bupt07 ...

  3. Android测试(一)——Apk文件结构以及Android组件介绍

    APK文件结构: assests目录:一般存放的是不会被编译处理的文件,一般是资源性质的文件或者配置文件: libs目录:程序依赖的native库,包含针对特定处理器软件层的编译代码: res目录:存 ...

  4. android apk 反编译

    Apk文件结构 apk文件实际是一个zip压缩包,可以通过解压缩工具解开.以下是我们用zip解开helloworld.apk文件后看到的内容.可以看到其结构跟新建立的工程结构有些类似. java代码: ...

  5. 爱加密Android APk 原理解析

    转载请标明出处:http://blog.csdn.net/u011546655/article/details/45921025 爱加密Android APK加壳原理解析 一.什么是加壳? 加壳是在二 ...

  6. android apk 防止反编译技术第二篇-运行时修改字节码

    上一篇我们讲了apk防止反编译技术中的加壳技术,如果有不明白的可以查看我的上一篇博客http://my.oschina.net/u/2323218/blog/393372.接下来我们将介绍另一种防止a ...

  7. android apk 防止反编译技术第三篇-加密

    上一篇我们讲了apk防止反编译技术中的加壳技术,如果有不明白的可以查看我的上一篇博客http://my.oschina.net/u/2323218/blog/393372.接下来我们将介绍另一种防止a ...

  8. android apk 防止反编译技术第二篇-运行时修改Dalvik指令

    上一篇我们讲了apk防止反编译技术中的加壳技术,如果有不明白的可以查看我的上一篇博客http://my.oschina.net/u/2323218/blog/393372.接下来我们将介绍另一种防止a ...

  9. APK文件结构和安装过程

    APK文件结构Android应用是用Java编写的,利用Android SDK编译代码,并且把所有的数据和资源文件打包成一个APK (Android Package)文件,这是一个后缀名为.apk的压 ...

  10. Android APK瘦身之Android Studio Lint (代码审查)

    ******** ******** 第一部分: 瘦身内容介绍 ******** ******** 项目新版本的迭代接近尾声, 因为历史累积问题, 导致有很多无效的资源让已经臃肿的APK变得更肿, 因此 ...

随机推荐

  1. 你需要知道的Symbols

    著名symbol 著名symbol是一个在不同领域中都相同且未注册的symbol.如果我们要列出著名symbol,它们会是: Symbol.iterator Symbol.toStringTag Sy ...

  2. 图与网络分析—R实现(五)

    四 最大流问题 最大流问题(maximum flow problem),一种网络最优化问题,就是要讨论如何充分利用装置的能力,使得运输的流量最大,以取得最好的效果.最大流问题是一类应用极为广泛的问题, ...

  3. vue之箭头函数

    目录 说明 解决方法一 重新定义this 解决方法二 使用箭头函数 无参数的箭头函数 有一个参数的箭头函数 有两个参数的箭头函数 有一个参数一个返回值的箭头函数 说明 当在一个方法(函数)里面再定义一 ...

  4. idea 热部署插件JRebel

    idea 热部署插件JRebel ​ 当开始开发web项目的时候,需要频繁的修改web页面,此时如果频繁的重启变得很麻烦,因此,可以在idea中集成JRebel插件,改动代码之后不需要重新启动应用程序 ...

  5. 关于安装Sqlyog出现的问题

    前言 这篇博客主要是为了分析一下我安装Sqlyog出现的一些问题,也请圈友们帮忙指正一下,我是不是成立冤大头.由于春节前我的电脑死机,我重装了系统,之后格式化了C盘,导致很多软件(之前都安装在C盘)需 ...

  6. 四月二十日java基础知识

    1.不可被继承的成员与最终类:在默认情况下,所有的成员变量和成员方法都可以被覆盖,如果父类的成员不希望被子类的成员锁覆盖可以将它们声明为final.如果用final来修饰成员变量,则说明该成员变量是最 ...

  7. LeeCode 433 最小基因变化

    LeeCode 433 最小基因变化 题目描述: 基因序列可以表示为一条由 8 个字符组成的字符串,其中每个字符都是 'A'.'C'.'G' 和 'T' 之一. 假设我们需要调查从基因序列 start ...

  8. prometheus node-exporter安装

    目录 prometheus node-exporter安装 包安装在linux服务器 Daemonset安装 Docker安装 helm安装 prometheus node-exporter安装 安装 ...

  9. rockyLinux 初体验(教程)PostgreSQL15

    目录 数据库软件 PostgreSQL 安装 数据库软件 PostgreSQL 配置 数据库软件 PostgreSQL 交互 通用数据库管理软件 DBeaver 彼时,PostgreSQL 已经更新到 ...

  10. 基于QtAV的简易播放器(开源)

    这个开源代码,是我利用QtAV源码,提取其中一部分代码,进行整合到我自己项目中,做的一个小型播放器测试,至于怎么安装一些环境以及QtAV源码编译在我以前写的一篇博客中可以看到(Qt第三方库QtAV-- ...