linux 源码目录结构,分析Android 源代码编译前后的目录结构

我们看没有编译前的项目目录大致的情况如下 :

在树结构中我们可以了解的有如下一些信息分析:

1.        getSplashy                项目名称;

2.        src                       项目程式;

3.        com                       早期项目接口,这里我们需要删除;

4.          com.haseman             早期项目接口,同上需要删除;

5.        Android Library           Android SDK包中的库集合;

6.        assets                    这个文件夹不常用,具体解释见下;

7.        res                       这里放置了项目的资源;

8.           drawable               图片文件习惯放这里;

9.           layout                 存放的外观文件,以XML为主;

10.       raw                       自定义文件夹,存放音频文件;

11.       values                    存放string.xml;

12.    AndroidManifest.xml          每个项目必备,存放项目描述;

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

out文件夹如下所示:

out/

-- CaseCheck.txt

-- casecheck.txt

-- host                //表示在主机(x86)生成的工具

-- common

-- linux-x86/darwin-x86

-- target(表示目标机,如果编译时候定义TARGET_STRIP_MODULE=false的话,这个目录为debug/target)

-- common

-- product

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

host目录的结构如下所示:

out/host/

-- common

-- obj(JAVA库)

-- linux-x86/darwin-x86

-- bin(二进制程序)

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

-- lib(共享库*.so)

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

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

target目录的结构如下所示:

out/target/

-- common     //表示通用的内容

-- R (资源文件)

-- docs

-- obj (目标文件)

-- product      //针对产品的内容

-- generic

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

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

out/target/obj/

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

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

在默认的情况下,Android 编译将生成generic目录,如果选定产品还可以生成其他的目录(根据预先设定的产品名命名)。

generic包含了以下内容:

out/target/product/generic/

-- data (存放数据的文件系统)

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

-- root

-- symbols

-- system(主要的文件系统)

-- Android -info.txt

-- clean_steps.mk

-- ramdisk.img

-- system.img

-- userdata.img

--userdata-qemu.img

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

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

几个以img为结尾的文件是几个目标映像文件,其中ramdisk是作为内存盘的根文件系统映像,system.img是主要文件系统的映像,这是一个比较大的文件,userdata.img是数据内容映像。userdata-qemu.img是模拟器使用的数据文件,一般不用userdata.img,只有-wipe-data时才用到userdata.img。这几个image文件是运行时真正需要的文件。0b1331709591d260c1c78e86d0c51c18.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/550788.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux vps 运行exe文件夹,在centos环境下运行.exe文件

首先要了解一下Wine:Wine (“Wine Is Not an Emulator” 的首字母缩写)是一个能够在多种 POSIX-compliant 操作系统(诸如 Linux,Mac OSX 及 BSD 等)上运行 Windows 应用的兼容层。Wine (Wine Is Not an Emulator)[即Wine不是一个模拟器]是一个在Linux和U…

linux服务器u盘启动项检测不到,将U盘设置为第一启动项之后却检测不到U盘怎么办?...

对于如何使用U盘装系统,想必看过小编之前介绍的朋友应该大致都清楚了吧?虽然说咱们使用U盘装系统的操作步骤还是比较简单的,但是却必须要满足一个条件,那便是将咱们的U盘设置为第一启动项,那么如何进行设置呢?这便需要在咱们win…

linux内核io源码,Linux Kernel do_io_submit()函数整数溢出漏洞

发布日期:2010-09-21更新日期:2010-09-27受影响系统:Linux kernel 2.6.x不受影响系统:Linux kernel 2.6.36-rc4描述:--------------------------------------------------------------------------------BUGTRAQ ID: …

linux6无法启动iscsi服务,RHEL6下安装配置ISCSI服务器

1.安装所需软件:yum –y install scsi-target-utils iscsi-initiator-utils功能说明:scsi-target-utils:用来将 Linux 系统仿真成为 iSCSI target 的功能;iscsi-initiator-utils:挂载来自 target 的磁盘到 Linux 本机上。2.target的设定:----…

linux socat rpm,RabbitMQ系列(三)RabbitMQ Server的安装(基于Linux RPM)

提示:在Fedora和RHEL仓库中包含了RabbitMQ,但这些版本往往是滞后的且不再被支持,我们建议你使用PackageCloud或者Bintray的Yum仓库进行安装;RabbitMQ RPM包将需要sudo特权来安装和管理。在没有sudo的环境中,可以考虑使…

每天一个linux命令博客nano,11 个鲜为人知的 Linux 命令(1)

英文:Tecmint,编译:Linux中国linux.cn/article-2258-1.html如有好文章Linux命令行吸引了大多数Linux爱好者。一个正常的Linux用户一般掌握大约50-60个命令来处理每日的任务。Linux命令和它们的转换对于Linux用户、Shell脚本程序员和管理员来说…

android 标题样式,Android定义各种样式的标题栏:requestWindowFeature()

最近在网上看到一篇介绍Android window的requestWindowFeature()的使用方法,共享出来大家学习学习requestWindowFeature(Window.FEATURE_LEFT_ICON);setContentView(R.layout.dialog_activity);getWindow().setFeatureDrawableResource(Window.FEATURE_LEFT_ICON, a…

m1笔记本android开发,Apple M1设备开发Android小tips

虽然m1来开发android是挺有优势的,苦于google目前还没有支持m1芯片的android studio版本(包括测试版) 截稿日期2021-5-14,所以我们当下可以选择idea2021,原生支持m1,而且编译速度运行效率更快(同时也会让你失去摸鱼时间)&#xff…

harmonyOS智慧屏,在鸿蒙HarmonyOS智慧屏上实现一款粗糙的计算器

在学习的路上我们不能只是停留在对理论知识的理解,还应该将理论和实战进行结合,这样才有利于我们能够更有深度的掌握知识,最终形成自己的知识体系结构。我们在实战的时候,不仅可以巩固我们的理论知识,还能够在实战中发…

imx6 android快速启动,android启动不起来(已解决)

我使用imx6dl,使用JB4.3.3-1.1.0版本,但在启动的时候最后停在了Freeing init memory: 232K,就没了动静,各位大侠帮忙分析一下吧:以下是log:U-Boot 2009.08 ( 1��月 08 2014 - 15:47:46)CPU: Freescale i.MX…

华为公布4月升级鸿蒙,华为余承东:鸿蒙OS今年4月见,华为Mate X2首批升级

随着搭载鸿蒙OS的终端设备日益增多,鸿蒙系统何时应用于手机成为舆论关注的焦点。特别是在2020年12月华为发布鸿蒙OS 2.0手机开发者Beta版本之后,公众对手机上运行鸿蒙OS的期待值越来越高。余承东在发布会上表示,从今年4月开始,华为…

android酷狗缓存目录,酷狗缓存的歌曲在哪个文件夹_酷狗音乐缓存的歌曲在电脑哪个目录-win7之家...

酷狗是一款很流行的音乐播放软件,当我们在听歌曲的时候,默认会缓存到文件夹中,方便下次没有网络的时候可以继续听这首歌,有些用户想要知道酷狗缓存的歌曲在哪个文件夹,我们可以从主界面中进入即可找到,接下…

html给文字添加阴影效果,如何设置样式之添加文字阴影、边框阴影或者添加自己的CSS...

以下的例子只是样式面板的使用案例之一,样式面板功能很强大,几乎能完成您的所有需求,详情参阅这里。边框的案例可以参阅这里。一、如何给文字添加阴影效果首先, 打开CSS工作面板请依次点击:右侧栏“样式面板”按钮(见第…

湖北大学计算机科学与技术怎么样,湖北大学(专业学位)计算机技术考研难吗

考研真题资料优惠价原价选择很多考生在准备湖北大学(专业学位)计算机技术考研难吗?是考研报考的时候都会产生这样的疑问:这个专业的研究生好吗?适合我吗?对我以后的人生和职业会有帮助吗?考生在准备湖北大学(专业学位)…

计算机打开共享网络连接打印机共享打印机,网络共享打印机连接不上怎么办_电脑连不上共享打印机如何解决-win7之家...

通常为了方便多人可以一起共用一台打印机,都会在局域网络中将打印机共享,可是近日有不少用户却遇到网络共享打印机连接不上的情况,这该怎么办呢,确认打印机已经共享,并且电脑在同一个家庭组里,针对脑连不上…

html盒子居中的方式,CSS盒子居中三种方法

前言CSS盒子居中,我觉得是很有必要学习一下的。特别是第三种方法,奇淫技巧升级版,也是生产环境中非常常见的一种方法,不需要知道宽度,随着祖先元素的变化而变化!1.常规方法常规方法只需要给盒子设置宽高&am…

台式计算机如何上网设置,台式电脑怎样设置宽带自动连接?

1、以Win7系统为例,在桌面任务栏中对着网络图标击右键,选择“打开网络和共享中心”菜单;2、在打开的页面中,点击页面左侧“更改适配器设置”按钮;3、在打开的页面中,找到宽带连接设置项,对其击右…

台式计算机更新不了,台式机更新造成电脑关不了机怎么办

电脑无法关机这个问题并不常见,可一旦出现这种问题了,那么我们要如何正确的处理它呢?想处理这个问题,首先,我们需要先了解下到底是什么原因导致的 Windows 无法正常关机。一般情况下,在 Windows 系统中&…

认识计算机的桌面,电脑桌面的基础知识教程,教你认识电脑桌面

教你认识电脑桌面1、工作区 桌面上的大片空白称为工作区,上面可以放置各种图标,显示打开的窗口,桌面上一般放置几个固定的图标和带箭头的快捷方式图标;2、图标 图标是一个小图片下面有文字,一个图标代表一个文件或者是…

哈工大华中科技大学计算机学院官网,我国重点大学排名盘点,哈工大重回前十,北理工只排十四...

最近,同学会公布了我国重点大学排名,这个排行榜直观地显示了我国的高校、全国排名、学校运营水平。这次荣登榜首的是圆明园职业技术学院——北京大学,学校和清华轮番追逐第一,这次的北大胜出,这两所大学都把重点放在了…