android的目录结构,android根目录结构

Android Studio开发解读 - gradle编译项目的build目录结构

转自:

为遵义等地区用户提供了全套网页设计制作服务,及遵义网站建设行业解决方案。主营业务为成都网站建设、网站建设、遵义网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

本文针对android studio工具下的ndk开发。

build目录就是项目模块构建过程和结果使用到的位置。

项目根目录下有一个build目录。

项目根目录下各模块子目录下各自有一个build目录。

build目录下一般由4个子目录组成:

generated由aapt工具根据资源数据自动生成的java类

intermediates中间过程

outputs输出结果

tmp编译日志

根目录下的build目录,这个build服务于整个项目,在本文中称其做项目build,以区分模块build。

项目build一般只有generated和intermediates两个子目录,用于生成这个项目的buildTools。

generated目录会生成一个mockable-android-${buildToolsVersion}.jar。

intermediates目录根据需要生成dex-cache,这个目录下的xml文件配置jar包在编译过程中如何缓冲使用。

模块build目录在make module ${MOD_NAME}后就会生成4个子目录。

我们来看intermediates目录,中间生成和编译过程使用到的目录。

这个目录下有这么几个比较关心的子目录:

binaries                  NDK,生成c++连接库

bundles                  模块链接到的自定义jar包和各abi版本的c++链接库都捆绑在这里

classes模块中生成的自定义java类

exploded-aar          由aar包解压出来的资源,jar包和so链接文件等。用于本模块的链接和集成。

jniLibs                   在build.grade中你指定的jniLibs目录整个拷贝。模块链接到的库文件会被捆到bundles目录。

objectFiles              NDK,生成c++中间对象(.o)文件。

transforms              根据你当前选择的productFlavor和其包含的abiFilter,从bundles和binaries取出链接库。

接着就是output目录:

aar如果模块是android library

jar                         如果模块是java library

apk                        如果是Activity应用程序

最后就是tmp目录:

compile$(NDK_Module)$(ABI)$(BUILD_TYPE)$(PRODUCT_FLAVOR)MainCpp               ndk编译日志

link$(NDK_Module)$(ABI)$(BUILD_TYPE)$(PRODUCT_FLAVOR)$(LIB_TYPE)                ndk链接日志

编译的子目录由三要素组合而成,分别是

BUILD_TYPE := debug|release

ProductFlavor := 你在gradle文件中创建的flavor

abiFilter :=

逆向深入objc,c++ windows下仿objc动画层UI引擎

android系统的目录是怎样的结构

Android操作系统目录结构详解。Android操作系统没有内置文件管理器,经过安装第三方文件管理器后可以对主系统内存和SD卡上的文件管理。主内存中的文件目录都是由主系统自动生成。下面是Android系统目录结构详解,供大家交流使用。

Android 目录结构介绍

不废话先上图:

目录分为

原文:

本文仅仅记录笔记。

Android系统文件目录结构

忍不住整理了一份自己喜欢的阅读风格

层次分明的Android文件目录,清晰的结构帮你更好的理解Android系统

有补充欢迎评论

android app文件目录结构

原来,只要把文件写在这里的话,可以不用动态申请权限,只要在manifest里面声明权限就ok了;

应用程序在运行的过程中如果需要向手机上保存数据,一般是把数据保存在SDcard中的。

大部分应用是直接在SDCard的根目录下创建一个文件夹,然后把数据保存在该文件夹中。

这样当该应用被卸载后,这些数据还保留在SDCard中,留下了垃圾数据。

并且在API

6.0之后,根目录文件存储是需要用户授权的,就算你在AndroidManifest.xml中配置了存储权限,用户不授权也是写不进去了。

SD卡读写权限:

如果你想让你的应用被卸载后,与该应用相关的数据也清除掉,该怎么办呢?

通过

可以得到

这个目录里面,一般放一些长时间保存的数据

方法可以获取到 SDCard/ Android /data/你的应用的包名/files/ 目录,一般放一些长时间保存的数据

通过

方法可以获取到

如果使用上面的方法,当你的应用在被用户卸载后,SDCard/Android/data/你的应用的包名/ 这个目录下的所有文件都会被删除,不会留下垃圾信息。并且

这个方法获得的文件存储路径适用于6.0以后系统,只要AndroidManifest.xml配置读写权限了,就不需要用户再授权了。

正常开发中获取存储路径的方法是:

可以看到,当SD卡存在或者SD卡不可被移除的时候,就调用getExternalCacheDir()方法来获取缓存路径,否则就调用getCacheDir()方法来获取缓存路径。前者获取到的就是 /sdcard/Android/data/application package/cache 这个路径,而后者获取到的是 /data/data/application package/cache 这个路径。

设置-应用-应用详情里面的”清除数据“与”清除缓存“选项分别对应的是data/data/application package/和data/data/application package/cache

external storage (外部存储):

Environment.getExternalStorageDirectory()SD根目录:/mnt/sdcard/ (6.0后写入需要用户授权)

context.getExternalFilesDir(dir)路径为:/mnt/sdcard/Android/data/ package name /files/…

context.getExternalCacheDir()路径为:/mnt/sdcard//Android/data/ package name /cache/…

internal storage(内部存储):

context.getFilesDir()路径是:/data/data/ package name /files/…

context.getCacheDir()路径是:/data/data/ package name /cach/…


网站栏目:android的目录结构,android根目录结构
文章来源:http://csdahua.cn/article/dscccoo.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流