`
isiqi
  • 浏览: 16487016 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Andoid编译完成后的代码结构

阅读更多

Andoid编译完成后,将在根目录中生成一个out文件夹,所有生成的内容均放置在这个文件夹中。out文件夹如下所示:

out/

|-- CaseCheck.txt

|-- casecheck.txt

|-- host

| |-- common

| `-- linux-x86

`-- target

|-- common

`-- product

主要的两个目录为host和target,前者表示在主机(x86)生成的工具,后者表示目标机(模认为ARMv5)运行的内容。

host目录的结构如下所示:

out/host/

|-- common

| `-- obj (JAVA库)

`-- linux-x86

|-- bin (二进制程序)

|-- framework (JAVA库,*.jar文件)

|-- lib (共享库*.so)

`-- obj (中间生成的目标文件)

host目录是一些在主机上用的工具,有一些是二进制程序,有一些是JAVA的程序。

target目录的结构如下所示:

out/target/

|-- common

| |-- R (资源文件)

| |-- docs

| `-- obj (目标文件)

`-- product

`-- generic

其中common目录表示通用的内容,product中则是针对产品的内容。

在common目录的obj中,包含两个重要的目录:

APPS 中包含了JAVA应用程序生成的目标,每个应用程序对应其中一个子目录,将结合每个应用程序的原始文件生成Android应用程序的APK包。

JAVA_LIBRARIES 中包含了JAVA的库,每个库对应其中一个子目录。

在默认的情况下,Android编译将生成generic目录,如果选定产品还可以生成其他的目录。generic包含了以下内容:

out/target/product/generic/

|-- android-info.txt

|-- clean_steps.mk

|-- data

|-- obj

|-- ramdisk.img

|-- root

|-- symbols

|-- system

|-- system.img

|-- userdata-qemu.img

`-- userdata.img

在generic/obj/APPS目录中包含了各种JAVA应用,与common/APPS相对应,但是已经打成了APK包。

system目录是主要的文件系统,data目录是存放数据的文件系统。

obj/SHARED_LIBRARIES中存放所有动态库。

obj/STATIC_LIBRARIES中存放所有静态库。

几个以img为结尾的文件是几个目标映像文件,其中ramdisk是作为内存盘的根文件系统映像,system.img是主要文件系统的映像,这是一个比较大的文件,data.img是数据内容映像

分享到:
评论

相关推荐

    如何单独编译Android源代码中的模块

    Android 模块单独编译详解 在 Android 源代码工程中,单独编译某个模块是一件很有必要的事情。...只有当我们熟悉了 Android 源代码工程的目录结构和文件组织方式时,我们才能更好地编译和管理模块。

    android反编译看java代码工具

    在Android应用开发中,有时我们需要对已有的APK文件进行逆向工程,以查看其内部实现,例如查找安全漏洞、学习代码结构或者调试问题。"android反编译看java代码工具"就是这样的一个实用工具,它能帮助开发者将APK中的...

    Android反编译代码与真实源代码对比(3)

    通过对Android应用的反编译代码与真实源代码的对比,我们可以深入了解代码的内部结构和功能实现,这对于逆向工程、安全审计、学习和研究都有重要的价值。然而,需要注意的是,反编译并非万能,它不能完全还原所有源...

    高通搭建android编译环境的方法

    整体来说,这份文档是高通提供给开发者的一份详尽的指导手册,旨在帮助开发者在高通平台上顺利搭建Android编译环境,完成系统编译和固件刷写等操作。开发者通过遵循文档中的指导,可以更加高效地进行开发工作,并且...

    android代码结构分析

    ### Android Framework代码结构深度解析 Android作为全球最大的移动操作系统之一,其内部的代码结构极其复杂且庞大,涉及从用户界面到系统底层的各种功能实现。在深入解析“Android代码结构分析”这一主题时,我们...

    DIAL-Android编译运行过代码

    【标题】"DIAL-Android编译运行过代码"涉及的是在Android平台上使用DIAL(Discovery and Launch of Internet Applications)协议开发和编译代码的过程。DIAL是一种协议,主要用于智能电视和其他连接到网络的设备上...

    Android反编译工具包(最完整的Android反编译工具包)

    在Android平台上,APK文件是由Java代码经过编译、打包和签名后形成的。通过反编译,我们可以查看这些代码,尽管不是原始的Java源码,但可以得到类似于源码的可读格式。 在这个最完整的Android反编译工具包中,可能...

    android反编译工具

    在Android开发领域,有时我们需要对APK文件进行逆向工程,以分析其内部结构、查看源代码或修改功能。这通常涉及到使用各种Android反编译工具。这些工具可以帮助开发者、安全研究人员或者逆向工程师理解已编译的...

    Android源码地图 ——Android源代码结构分析

    首先,Android系统的源代码结构可以分为以下几个主要部分: 一、系统体系结构 Android系统体系结构是一种分层结构,包括应用层、框架层、中间件和运行时环境、内核和驱动等。这个体系结构是逻辑上的,而源代码则是...

    android P android9源码编译.ipr.iml文件

    7. 编译完成后,你可以生成可引导的系统映像,然后在模拟器或物理设备上进行测试。 需要注意的是,编译Android源码可能需要大量的计算资源,包括内存和磁盘空间。此外,由于源码的复杂性,可能需要解决依赖问题、...

    windows protobuf android 编译.doc

    在完成上述准备工作后,可以使用 NDK 的工具链进行编译。进入 `jni` 目录,执行以下命令: ```bash $ ndk-build ``` 该命令会根据 `Android.mk` 和 `Application.mk` 文件中定义的规则,编译出适用于 Android 平台...

    android反编译资源获取

    4. **资源文件查看与提取**: 反编译完成后,你可以在生成的目录中找到`res`子目录,这里包含了原始的图片资源(例如`.png`、`.xml`文件)和布局文件。你可以使用任何文本编辑器打开XML文件查看布局结构,也可以直接...

    Android反编译工具包

    4. Jadx:一款强大的 Dex 到 Java 源代码的反编译器,具有良好的代码结构和注释保留。 5. Smali & baksmali:Smali是一种Dalvik字节码的汇编语言,baksmali是它的反汇编器,可以将.dex文件反编译为Smali代码。 三、...

    Android 反编译-全部工具包

    在Android开发领域,有时我们需要对已有的APK文件进行反编译,以便了解其内部结构、查看源代码或进行二次开发。"Android反编译-全部工具包"提供了一个便捷的方式,将所有必要的反编译工具集合在一起,使得开发者无需...

    Android反编译APK查看

    在Android开发领域,有时我们需要对已有的APK应用进行反编译来查看其源代码、资源文件或了解其工作原理。这通常是出于学习、调试、安全分析或逆向工程的目的。本文将详细介绍如何使用名为JD-GUI的工具来实现Android ...

    android10以上源码中编译java及UI代码

    在Android 10及以上版本的源码中,构建Java代码和UI组件的过程相较于之前的版本有了一些变化,主要是引入了两种新的编译方式:Android.mk和Android.bp。这两种编译方式都是用于构建Android系统的模块,但它们各有...

    android程序编译打包工具

    在Android应用开发中,编译和打包是至关重要的步骤,它们将源代码转换为可以在Android设备上运行的应用程序。本文将深入探讨“Android程序编译打包工具”的使用,包括资源文件的修改和重新打包。 首先,Android应用...

    AndroidStudio 编译C/C++文件生成SO文件

    完成这些设置后,Android Studio会自动识别并编译C/C++代码。在`Build`菜单中选择`Rebuild Project`,或者点击右侧的刷新按钮,就可以开始编译过程。编译成功后,生成的SO文件将被放置在`app/build/intermediates/...

Global site tag (gtag.js) - Google Analytics