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应用开发中,有时我们需要对已有的APK文件进行逆向工程,以查看其内部实现,例如查找安全漏洞、学习代码结构或者调试问题。"android反编译看java代码工具"就是这样的一个实用工具,它能帮助开发者将APK中的...
通过对Android应用的反编译代码与真实源代码的对比,我们可以深入了解代码的内部结构和功能实现,这对于逆向工程、安全审计、学习和研究都有重要的价值。然而,需要注意的是,反编译并非万能,它不能完全还原所有源...
整体来说,这份文档是高通提供给开发者的一份详尽的指导手册,旨在帮助开发者在高通平台上顺利搭建Android编译环境,完成系统编译和固件刷写等操作。开发者通过遵循文档中的指导,可以更加高效地进行开发工作,并且...
### Android Framework代码结构深度解析 Android作为全球最大的移动操作系统之一,其内部的代码结构极其复杂且庞大,涉及从用户界面到系统底层的各种功能实现。在深入解析“Android代码结构分析”这一主题时,我们...
【标题】"DIAL-Android编译运行过代码"涉及的是在Android平台上使用DIAL(Discovery and Launch of Internet Applications)协议开发和编译代码的过程。DIAL是一种协议,主要用于智能电视和其他连接到网络的设备上...
在Android平台上,APK文件是由Java代码经过编译、打包和签名后形成的。通过反编译,我们可以查看这些代码,尽管不是原始的Java源码,但可以得到类似于源码的可读格式。 在这个最完整的Android反编译工具包中,可能...
在Android开发领域,有时我们需要对APK文件进行逆向工程,以分析其内部结构、查看源代码或修改功能。这通常涉及到使用各种Android反编译工具。这些工具可以帮助开发者、安全研究人员或者逆向工程师理解已编译的...
首先,Android系统的源代码结构可以分为以下几个主要部分: 一、系统体系结构 Android系统体系结构是一种分层结构,包括应用层、框架层、中间件和运行时环境、内核和驱动等。这个体系结构是逻辑上的,而源代码则是...
7. 编译完成后,你可以生成可引导的系统映像,然后在模拟器或物理设备上进行测试。 需要注意的是,编译Android源码可能需要大量的计算资源,包括内存和磁盘空间。此外,由于源码的复杂性,可能需要解决依赖问题、...
在完成上述准备工作后,可以使用 NDK 的工具链进行编译。进入 `jni` 目录,执行以下命令: ```bash $ ndk-build ``` 该命令会根据 `Android.mk` 和 `Application.mk` 文件中定义的规则,编译出适用于 Android 平台...
4. **资源文件查看与提取**: 反编译完成后,你可以在生成的目录中找到`res`子目录,这里包含了原始的图片资源(例如`.png`、`.xml`文件)和布局文件。你可以使用任何文本编辑器打开XML文件查看布局结构,也可以直接...
4. Jadx:一款强大的 Dex 到 Java 源代码的反编译器,具有良好的代码结构和注释保留。 5. Smali & baksmali:Smali是一种Dalvik字节码的汇编语言,baksmali是它的反汇编器,可以将.dex文件反编译为Smali代码。 三、...
在Android开发领域,有时我们需要对已有的APK文件进行反编译,以便了解其内部结构、查看源代码或进行二次开发。"Android反编译-全部工具包"提供了一个便捷的方式,将所有必要的反编译工具集合在一起,使得开发者无需...
在Android开发领域,有时我们需要对已有的APK应用进行反编译来查看其源代码、资源文件或了解其工作原理。这通常是出于学习、调试、安全分析或逆向工程的目的。本文将详细介绍如何使用名为JD-GUI的工具来实现Android ...
在Android 10及以上版本的源码中,构建Java代码和UI组件的过程相较于之前的版本有了一些变化,主要是引入了两种新的编译方式:Android.mk和Android.bp。这两种编译方式都是用于构建Android系统的模块,但它们各有...
在Android应用开发中,编译和打包是至关重要的步骤,它们将源代码转换为可以在Android设备上运行的应用程序。本文将深入探讨“Android程序编译打包工具”的使用,包括资源文件的修改和重新打包。 首先,Android应用...
完成这些设置后,Android Studio会自动识别并编译C/C++代码。在`Build`菜单中选择`Rebuild Project`,或者点击右侧的刷新按钮,就可以开始编译过程。编译成功后,生成的SO文件将被放置在`app/build/intermediates/...