android中gradle的环境配置

本文主要解决三个问题:
1,gradle与gradlew的区别
2,当前项目./gradlew的配置问题
3,全局统一gradle的配置问题

一、gradle与gradlew的区别

  • gradlew就是对gradle的包装和配置。gradlew是gradle Wrapper,Wrapper的意思就是包装,而gradlew正是运行了wrapper task之后生成的(运行wrapper task是Android Studio自动做的)
  • 使用gradle wrapper是gradle官方推荐的build方式。使用gralde wrapper的一个好处就是每个项目可以依赖不同版本的gradle,构建的时候gradle
    wrapper会帮你自动下载所依赖的版本的gradle。

二、当前项目./gradlew的配置问题

我们做rn跨平台开发的时候经常会遇见这个问题 :
react-native在mac上执行gradlew命令报错 ./gradlew:command not found
那么这个问题就是当前项目的./gradlew出问题了

2.1,首先我们要保证环境是对的。也就是说这个工程能跑。
2.2,然后需要在我们project目录下确定有这两个关键性文件gradlew与gradlew.bat。没有的话可以新建个项目自行拷贝过来,通常这里丢失问题都是git忽略文件将其忽略了。

android中gradle的环境配置_第1张图片

2.3,再者我们需要确保这里的两个文件是权限全开的

如果你有安装Path Finder软件,则可以直接点击权限进行授予。如果没有则通过linux命令处理

使用命令[chmod +x gradle.bat] 和 [chmod +x gradle]将权限加上

2.4,然后在该文件目录下使用./gradlew -v查看

android中gradle的环境配置_第2张图片
这样就说明配置好了。可以愉快的使用./gradlew所提供的命令了
android中gradle的环境配置_第3张图片

三、全局统一gradle的配置问题

配置全局统一gradle主要有两个作用

  • 为了使用命令行方便,不管在哪个目录下都可以gradle -v。
  • 配置成常见的gradle版本,当项目出错时gradle assembleDebug使用的最常见的版本更容易排查出问题
3.1,寻找gradle命令路径目录

gradle命令存放方式通常都是bin目录下两个文件(gradle以及批处理文件gradle.bat),但是这两个文件依赖于当前环境,不可单独拷贝出来使用。在mac系统下gradle存放位置通常有两处地方

1,在androidstudio软件中。我们打开应用下的androidstudio,右键查看内容,找到下面目录。但是这个在高版本androidstudio(3点多的,笔者是3.5.1)就已经没有了。

/Applications/Android\ Studio.app/Contents/gradle/gradle-2.4/bin

2,在系统默认存放gradle的目录下找
打开目录/Users/zhanglei/.gradle/wrapper/dists,我们可以在里面找到很多gradle版本。这里都可以使用,但是建议使用项目最常用的gradle版本。

/Users/zhanglei/.gradle/wrapper/dists/gradle-4.7-all/29hln6mi2gf5frjbe9fdslqosk/gradle-4.7/bin
3.2,配置全局gradle环境

配置文件常用操作命令

  • touch .bash_profile 创建配置文件
  • open -e .bash_profile 打开配置文件
  • source ~/.bash_profile 生效修改后的文件

首先我们需要打开配置文件(没有则需要执行创建命令),将配置参数填充进去

export PATH=${PATH}:/Users/zhanglei/.gradle/wrapper/dists/gradle-4.7-all/29hln6mi2gf5frjbe9fdslqosk/gradle-4.7/bin

然后执行生效命令,然后在命令行测试gradle -v

如果出现bash: ./gradlew: Permission denied 则权限有问题,同理执行linux命令即可

chmod +x gradlew

android中gradle的环境配置_第4张图片

你可能感兴趣的:(Android开发,gradle,./gradlew)