美文网首页
【我的Android进阶之旅】Linux下学习.gradle目录

【我的Android进阶之旅】Linux下学习.gradle目录

作者: 欧阳鹏 | 来源:发表于2018-12-06 19:42 被阅读14次

    一、背景描述

    上一篇文章 【Jenkins学习 】解决Jenkins节点断开不可用,报错:Disk space is too low. Only 0.803GB left on /tmp. 里面说了,因为 / 根目录磁盘空间不足导致Jenkins编译节点服务器不可用。

    在这里插入图片描述

    查看下 / 根目录下面有哪些占用磁盘比较大的内容,如下所示:

    [root@localhost /]#  du -h --max-depth=1 /
    4.0K    /mnt
    7.7M    /bin
    0   /net
    4.0K    /home
    8.6G    /root
    0   /selinux
    343G    /data
    291M    /glibc-build-2.14
    41M /lib64
    4.0K    /media
    0   /misc
    232K    /dev
    4.2G    /usr
    155M    /lib
    16K /lost+found
    3.5G    /opt
    29M /boot
    39M /etc
    784K    /tmp
    20M /sbin
    812M    /var
    0   /cgroup
    146M    /glibc-2.18
    du: 无法访问"/proc/13912/task/13912/fd/4": 没有那个文件或目录
    du: 无法访问"/proc/13912/task/13912/fdinfo/4": 没有那个文件或目录
    du: 无法访问"/proc/13912/fd/4": 没有那个文件或目录
    du: 无法访问"/proc/13912/fdinfo/4": 没有那个文件或目录
    0   /proc
    136M    /glibc-2.14
    12K /.dbus
    4.0K    /srv
    0   /sys
    360G    /
    
    
    在这里插入图片描述

    看下 /root目录下有什么

    [root@localhost /]# du -h --max-depth=1 /root
    4.0K    /root/文档
    4.0K    /root/视频
    4.0K    /root/模板
    144K    /root/.pulse
    36K /root/bin
    8.0K    /root/.pki
    4.0K    /root/.gvfs
    48K /root/.config
    4.0K    /root/.nautilus
    188K    /root/.cache
    144K    /root/.local
    384K    /root/.gstreamer-0.10
    211M    /root/桌面
    256K    /root/.m2
    24K /root/.repoconfig
    32K /root/.gnome2
    8.0K    /root/.ssh
    80K /root/.gconfd
    4.0K    /root/下载
    4.0K    /root/.abrt
    3.9G    /root/.android
    16K /root/.gnote
    4.0K    /root/音乐
    12K /root/.dbus
    284K    /root/.gconf
    16K /root/.gnupg
    4.0K    /root/图片
    40M /root/.jenkins
    4.0K    /root/公共的
    4.5G    /root/.gradle
    4.0K    /root/software
    8.6G    /root
    [root@localhost /]# 
    
    
    在这里插入图片描述

    二 .gradle目录

    2.1 顶级目录

    进入 /root/.gradle目录查看下,如下所示:


    在这里插入图片描述
    [root@localhost /]# cd /root/.gradle/
    [root@localhost .gradle]# ll
    总用量 16
    drwxr-xr-x. 12 root root 4096 8月   1 19:37 caches
    drwxr-xr-x.  7 root root 4096 7月   4 11:34 daemon
    drwxr-xr-x.  6 root root 4096 4月  18 2018 native
    drwxr-xr-x.  2 root root 4096 4月  18 2018 workers
    [root@localhost .gradle]# 
    

    分为caches 、daemon 、native 、wrapper 四个目录,如下所示:

    目录 功能
    caches gradle缓存目录
    daemon daemon日志目录
    native gradle平台相关目录
    workers 未知,我这边是空目录

    2.2 caches目录

    下面来看一看 caches目录的情况,如下所示:

    [root@localhost .gradle]# cd caches/
    [root@localhost caches]# ll
    总用量 40
    drwxr-xr-x.  9 root root 4096 12月 14 2017 2.14.1
    drwxr-xr-x.  6 root root 4096 5月  14 15:17 3.0
    drwxr-xr-x.  6 root root 4096 4月  11 2018 3.3
    drwxr-xr-x.  9 root root 4096 4月  18 2018 4.1
    drwxr-xr-x.  8 root root 4096 7月   4 11:34 4.3
    drwxr-xr-x. 10 root root 4096 8月   1 19:37 external-resources
    drwxr-xr-x.  2 root root 4096 4月  11 2018 jars-2
    drwxr-xr-x.  2 root root 4096 4月  18 2018 jars-3
    drwxr-xr-x.  7 root root 4096 7月   4 11:34 modules-2
    drwxr-xr-x.  4 root root 4096 4月  18 2018 transforms-1
    [root@localhost caches]# 
    
    
    在这里插入图片描述
    目录 功能
    2.14.1 gradle程序的脚本(gradle程序版本)
    3.0 gradle程序的脚本(gradle程序版本)
    3.3 gradle程序的脚本(gradle程序版本)
    4.1 gradle程序的脚本(gradle程序版本)
    4.3 gradle程序的脚本(gradle程序版本)
    external-resources 未知
    jars-2 未知
    jars-3 未知
    modules-2 下载缓存目录
    transforms-1 好像是下载缓存目录
    在这里插入图片描述

    2.2.1 caches/modules-2目录

    在这里插入图片描述
    目录 功能
    files-2.1 gradle下载的jar目录
    metadata-2.16 gradle-2.14.1的描述文件 (不确定)
    metadata-2.23 gradle-3.2.1的描述文件 (不确定)
    ... ...

    files-2.1的目录组织

    {org}/{package}/{version}/{shanum1}/{package-version}.pom{org}/{package}/{version}/{shanum2}/{package-version}.jar
    {org}/{package}/{version}/{shanum2}/${package-version}.aar

    例如: com.android.support:recyclerview-v7:27.1.1.aar对应的缓存为:

    /root/.gradle/caches/modules-2/files-2.1/com.android.support/recyclerview-v7/27.1.1/3e9da1c78ef9fac192ff9e614b1c8e943cd9dd89/recyclerview-v7-27.1.1.aar

    描述文件 recyclerview-v7-27.1.1.pom 对应着

    /root/.gradle/caches/modules-2/files-2.1/com.android.support/recyclerview-v7/27.1.1/bf17224266bac78bb12fe4089fb1654eaa370af7/recyclerview-v7-27.1.1.pom

    在这里插入图片描述

    lint-gradle-api-26.0.1.jar 对应着:

    /root/.gradle/caches/modules-2/files-2.1/com.android.tools.lint/lint-api/26.0.1/2d4dd9f4676fbb152e4baf6f6f4cbbb868521832/lint-api-26.0.1.jar

    描述文件 lint-api-26.0.1.pom 对应着

    /root/.gradle/caches/modules-2/files-2.1/com.android.tools.lint/lint-api/26.0.1/939c08ec1fd74659d4a47d849d0376e1b1b88988/lint-api-26.0.1.pom

    在这里插入图片描述

    2.3 daemon目录(无需离线)

    用于存放gradle daemon的运行日志。按gradle程序版本存放。

    [root@localhost .gradle]# cd daemon/
    [root@localhost daemon]# ll
    总用量 92
    drwx------. 2 root root  4096 9月  18 14:18 2.14.1
    drwx------. 2 root root  4096 5月  14 15:17 3.0
    drwx------. 2 root root  4096 4月  11 2018 3.3
    drwx------. 2 root root 73728 11月  7 14:40 4.1
    drwx------. 2 root root  4096 9月  20 14:09 4.3
    
    
    在这里插入图片描述
    目录 功能
    2.14.1 gradle-2.14.1运行的日志
    3.0 gradle-3.0运行的日志
    3.3 gradle-3.3运行的日志
    4.1 gradle-4.1运行的日志
    4.3 gradle-4.3运行的日志
    在这里插入图片描述

    2.4 native目录(无需离线)

    用于存放平台相关(Win/Linux/Mac)的库。

    [root@localhost 4.3]# cd ../../native/
    [root@localhost native]# pwd
    /root/.gradle/native
    [root@localhost native]# ll
    总用量 16
    drwxr-xr-x. 3 root root 4096 12月 14 2017 19
    drwxr-xr-x. 4 root root 4096 4月  11 2018 23
    drwxr-xr-x. 4 root root 4096 4月  18 2018 25
    drwxr-xr-x. 3 root root 4096 4月  11 2018 jansi
    [root@localhost native]# 
    
    
    在这里插入图片描述
    目录 功能
    19 gradle-2.14.1对应的lib目录,按平台存放,如osx-amd64
    21 gradle-3.2.1对应的lib目录,按平台存放,如osx-amd64
    jansi 未知,看目录也是存放一些so
    在这里插入图片描述 在这里插入图片描述
    [root@localhost 4.3]# cd ../../native/
    [root@localhost native]# pwd
    /root/.gradle/native
    [root@localhost native]# ll
    总用量 16
    drwxr-xr-x. 3 root root 4096 12月 14 2017 19
    drwxr-xr-x. 4 root root 4096 4月  11 2018 23
    drwxr-xr-x. 4 root root 4096 4月  18 2018 25
    drwxr-xr-x. 3 root root 4096 4月  11 2018 jansi
    [root@localhost native]# cd 19/
    [root@localhost 19]# ll
    总用量 4
    drwxr-xr-x. 2 root root 4096 12月 14 2017 linux-amd64
    [root@localhost 19]# cd linux-amd64/
    [root@localhost linux-amd64]# ll
    总用量 56
    -rw-r--r--. 1 root root 21873 12月 14 2017 libnative-platform-curses.so
    -rw-r--r--. 1 root root     1 12月 14 2017 libnative-platform-curses.so.lock
    -rw-r--r--. 1 root root 23965 12月 14 2017 libnative-platform.so
    -rw-r--r--. 1 root root     1 12月 14 2017 libnative-platform.so.lock
    [root@localhost linux-amd64]# 
    
    [root@localhost linux-amd64]# cd ../../jansi/
    [root@localhost jansi]# ll
    总用量 4
    drwxr-xr-x. 3 root root 4096 4月  11 2018 1.14
    [root@localhost jansi]# cd 1.14/
    [root@localhost 1.14]# ll
    总用量 4
    drwxr-xr-x. 2 root root 4096 4月  11 2018 linux64
    [root@localhost 1.14]# cd linux64/
    [root@localhost linux64]# ll
    总用量 56
    -rw-r--r--. 1 root root 54754 4月  11 2018 libjansi.so
    [root@localhost linux64]# 
    
    
    

    2.5 work目录

    work目录的作用未知,这边看起来是空目录。

    在这里插入图片描述

    三、修改Gradle缓存文件夹路径

    既然已经大概了解了.gradle目录的结构,而且/ 根目录磁盘已经不够用了,我们就需要将.gradle目录迁移到其他的地方去,修改Gradle缓存文件夹路径,以后缓存不要缓存到 / 根目录即可。

    3.1 设置GRADLE_USER_HOME环境变量

    新建一个环境变量设置,GRADLE_USER_HOME,然后写上值为你需要迁移的地方去。

    在/etc/profile增加如下:

    export GRADLE_USER_HOME=你想要迁移的地址

    示例如下:
    输入vi命令,编辑/etc/profile文件

    [root@localhost workers]# vi /etc/profile
    
    在这里插入图片描述

    我们看到原来其他的SDK、gradle等目录也是在/根目录下,后面都移动到了/data目录下,因此我们将GRADLE_USER_HOME从原来的 ~/root/.gradle 也移动到 /data目录下,如下所示

    添加 export GRADLE_USER_HOME=/data/opt/.gradle

    在这里插入图片描述
    [root@localhost .gradle]# vi /etc/profile
    [root@localhost .gradle]# source /etc/profile
    
    

    编辑完之后,使用 source /etc/profile 命令使修改生效。

    在这里插入图片描述

    修改完后,将原来的老目录删除即可。


    在这里插入图片描述

    这样 / 根目录 的可用磁盘空间就充裕了一些,这就是修改Gradle缓存文件夹路径的方法。


    在这里插入图片描述

    作者:欧阳鹏 欢迎转载,与人分享是进步的源泉!
    转载请保留原文地址:https://blog.csdn.net/qq446282412/article/details/83821204
    如果本文对您有所帮助,欢迎您扫码下图所示的支付宝和微信支付二维码对本文进行打赏。

    在这里插入图片描述

    相关文章

      网友评论

          本文标题:【我的Android进阶之旅】Linux下学习.gradle目录

          本文链接:https://www.haomeiwen.com/subject/pzhacqtx.html