0 需求背景

我们知道,编译Android源码时会在工程目录自动创建out子目录。如果不想使用这个默认目录,能不能自定义呢?当然是可以的。

1 官方推荐方法

找到Android工程的这个文件:
docs/source.android.com/zh-cn/source/initializing.html
以下是我摘抄的相关描述。

使用单独的输出目录
默认情况下,每次编译的输出都会存储在相应源代码树的 out/ 子目录下。在一些拥有多个存储设备的计算机上,如果将源文件和输出存储在单独的存储卷中,编译速度会更快。若要进一步提高编译速度,可以将输出存储在已针对速度(而非崩溃稳定性)进行优化的文件系统中,这是因为在文件系统损坏时可以重新生成所有文件。要进行这项设置,请导出 OUT_DIR_COMMON_BASE 变量,使其指向将存储输出目录的位置。$ export OUT_DIR_COMMON_BASE=<path-to-your-out-directory>
对于每个单独的源代码树,其输出目录都将以其存放目录命名。例如,如果您有源代码树 /source/master1 和 /source/master2,并且 OUT_DIR_COMMON_BASE 设为了 /output,那么输出目录将为 /output/master1 和 /output/master2。在这种情况下,切勿将多个源代码树存储在具有相同名称的目录下,否则会导致输出目录共享终止,并且会出现不可预知的结果。只有 Jelly Bean (4.1) 及更高版本(包括 master 分支)支持这种做法。

2 自定义方法,创建软链接

编译之前,在Android工程目录创建一个名为out的软链接,指向你想要输出的目录。

mkdir /home/zhangsan/android_out
ln -s /home/zhangsan/android_out /home/zhangsan/android_project/out

注意创建软链接要使用绝对路径。
如果创建成功,查看/home/zhangsan/android_project/out,它应该是指向/home/zhangsan/android_out目录的软链接。

ls -l /home/zhangsan/android_project
lrwxrwxrwx   1 zhangsan bu      28 Jul 17 12:16 out -> /home/zhangsan/android_out/

确认链接成功之后,再编译。此时编译生成文件就被存放到软链接指向的目录了。

自定义Android工程的out目录相关推荐

  1. Android工程的编译过程

    现在很多人想对Android工程的编译和打包进行自动化,比如建立每日构建系统.自动生成发布文件等等.这些都需要我们对Android工程的编译和打包有一个深入的理解,至少要知道它的每一步都做了什么,需要 ...

  2. ffmpeg--把一个eclipse目录结构的Android工程转为Android Studio结构的工程,并调试jni层和native层错误

    我下面介绍的使用CMake的方式编译native的,直接使用Android.mk也可以. 1.建立一个support c++的Android工程 2.MainActivity.java复制过去,把re ...

  3. ios/Android工程:自定义圆形/扇形运动轨迹,cos\sin值的简单运用

    ios/Android工程:利用cos\sin函数创建圆形轨迹 设备/引擎:Mac(11.6)/cocos 开发工具:Xcode(13.0) 开发需求:利用cos\sin函数创建圆形轨迹,并让元素按给 ...

  4. android如何打开工程文件夹,Android工程目录结构介绍

    当我们创建完Android工程如(HelloAndroid)后,展开"Package Explorer"窗口里的"HelloAndroid"项名称,可以看见如下 ...

  5. 自定义Android注解Part3:绑定

    上一节我们已经将自动生成注解代码部分介绍完毕,今天这篇文章是自定义Android注解系列的最后一篇文章.希望大家这一路走来有所收获. 经过前面的了解,我们三大部分:butterknife-annota ...

  6. 自定义Android注解Part2:代码自动生成

    上一期我们已经把butterknife-annotations中的注解变量都已经定义好了,分别为BindView.OnClick与Keep. 如果你是第一次进入本系列文章,强烈推荐跳到文章末尾查看上篇 ...

  7. android工程中的软件,通过Android Studio创建Android应用程序(附带解析)

    这一节我们主要来创建一个简单的 Android 的应用程序. 创建 HelloWorld 工程 启动 Android Studio,依次选择 File --> New --> New Pr ...

  8. android 友盟统计功能,在Android工程中集成友盟统计

    在Android工程中集成友盟统计 首先需要在友盟官网注册账号并添加新应用,获取Appkey.具体步骤这里不进行叙述. 1.集成准备 首先需要集成友盟统计SDK 有两种方式: 1.下载SDK,并复制到 ...

  9. Android系统源码目录及功能介绍

    Android的移植按如下流程:     1.android linux 内核的普通驱动移植,让内核可以在目标平台上运行起来.     2.正确挂载文件系统,确保内核启动参数和 android 源代码 ...

  10. 混合开发架构|Android工程集成React Native、Flutter、ReactJs

    混合开发架构|Android工程集成React Native.Flutter.ReactJs 架构设计说明 创建安卓原生工程 创建Flutter 集成嵌入原生工程 创建React Native 解决R ...

最新文章

  1. TorchVision中通过AlexNet网络进行图像分类
  2. [分享]组织机构图控件
  3. Java为什么print显示不完全,read-eval-print-loop – 在Java 9上,为什么System.getenv()的输出在jshell中不完整?...
  4. poj1190深搜 生日蛋糕
  5. 提交时是使用防抖还是节流_使用BlockingExecutor进行节流任务提交
  6. linux 思维导图
  7. iOS【终极方案】精准获取webView内容高度,自适应高度
  8. 自然语言处理中的词性标注全称
  9. BZOJ4241历史研究题解
  10. IDEA SpringBoot工程配置热部署
  11. 程序员的“非程序员”之路
  12. 倒排索引Inverted index
  13. 微信接口请求次数_微信接口调用次数限制 支付宝微信提现
  14. Java 中的十大排序算法
  15. ModelState.IsValid一直为false的原因
  16. 关于知识图谱标准化构建平台的思考:知识图谱只能做项目,不能做平台?
  17. Matlab 中min(),min(min()),max(),max(max())的介绍和分析
  18. QtCreator编译错误: -1: error: [debug/main.o] Error 1 问题的解决办法
  19. eclipse java转class_Eclipse中的Java项目:无法解析java.lang.Object类型。 它是从所需的.class文件间接引用的...
  20. 跟着明星在元宇宙炒房,靠谱吗?

热门文章

  1. VUE子路由跳转,各位大神,为啥我这个子路由跳转不到相应的子页面,求助求助
  2. 目前计算机已经发展到哪个阶段,目前电子计算机处于哪个阶段?计算机发展的四个阶段...
  3. 如何建立个人网站:从搭建到运营再到盈利
  4. Java图片上传Base64 类型上传 后台转换工具类
  5. 《房地产证》与《房屋所有权证》或《房产证》有什么区别
  6. 超市网店营销与接口测试
  7. 15个国外便宜主机介绍
  8. EasyUI datagrid editor 中用filebox上传图片失败问题
  9. 【Python 3.7】序数:序数表示位置,如 1st和 2nd。大多数序数都以 th结尾,只有 1、2和 3 例外。
  10. 高二上计算机知识点,【高考备考】2017高二数学知识点归纳整理:期中考试必背的知识点...