1.前言
更换了Linux系统后,从git上面拉取项目运行在Android Studio中,在Terminal上输入./gradlew(Windows系统上是输入gradlew),提示找不到命令。
2.开始排查
- 首先自然是百度,可能是关键字的原因,没有找到理想的答案。由于之前在Windows系统上是能够正常运行gradlew命令,然后就猜测是否跟代码提交到git后有关联,于是打算新建一个HelloWorld项目,运行./gradlew命令。结果,新项目能够正常运行,但是从git上拉取下来的就是不可以;
- 然后就往gradle配置和jdk方向,接着对比新创建的HelloWord项目和git上拉取下来的项目的gradlew相关的文件,发现没有什么差距。jdk方面也排除。
- 再者,就是两种项目的目录内容,通过cd 分别进入各自的项目,然后输入ll命令查看,发现了区别,如下:
//可以执行./gradlew命令的项目
drwxrwxr-x 8 user-name user-name 4096 3月 29 17:50 ./
drwxrwxr-x 12 user-name user-name 4096 3月 28 15:51 ../
drwxrwxr-x 5 user-name user-name 4096 3月 29 17:50 app/
-rw-rw-r-- 1 user-name user-name 1242 3月 27 15:03 build.gradle
-rw-rw-r-- 1 user-name user-name 792 3月 27 15:03 config.gradle
drwxrwxr-x 8 user-name user-name 4096 3月 29 17:50 .git/
-rw-rw-r-- 1 user-name user-name 535 3月 27 15:03 .gitignore
drwxrwxr-x 3 user-name user-name 4096 3月 27 15:03 gradle/
drwxrwxr-x 4 user-name user-name 4096 3月 27 15:05 .gradle/
-rw-rw-r-- 1 user-name user-name 729 3月 27 15:03 gradle.properties
-rwxrwxr-x 1 user-name user-name 4971 3月 27 15:03 gradlew* //mark1.注意这一行
-rw-rw-r-- 1 user-name user-name 2314 3月 27 15:03 gradlew.bat
drwxrwxr-x 5 user-name user-name 4096 3月 29 17:51 .idea/
-rw-rw-r-- 1 user-name user-name 348 3月 27 15:04 local.properties
drwxrwxr-x 4 user-name user-name 4096 3月 29 17:50 libName/
-rw-rw-r-- 1 user-name user-name 162 3月 27 15:03 README.md
-rw-rw-r-- 1 user-name user-name 866 3月 29 17:50 appName.iml
-rw-rw-r-- 1 user-name user-name 39 3月 27 15:03 settings.gradle
//不可以执行./gradlew命令的项目
drwxrwxr-x 7 user-name user-name 4096 3月 29 16:30 ./
drwxrwxr-x 12 user-name user-name 4096 3月 28 15:51 ../
drwxrwxr-x 5 user-name user-name 4096 3月 29 16:33 app/
-rw-rw-r-- 1 user-name user-name 879 3月 29 16:30 build.gradle
-rw-rw-r-- 1 user-name user-name 1011 3月 28 09:33 config.gradle
drwxrwxr-x 8 user-name user-name 4096 3月 29 18:21 .git/
-rw-rw-r-- 1 user-name user-name 535 3月 28 09:09 .gitignore
drwxrwxr-x 3 user-name user-name 4096 3月 28 09:09 gradle/
drwxrwxr-x 4 user-name user-name 4096 3月 28 09:17 .gradle/
-rw-rw-r-- 1 user-name user-name 730 3月 28 09:09 gradle.properties
-rw-rw-r-- 1 user-name user-name 4971 3月 28 09:09 gradlew //mark2.注意这一行
-rw-rw-r-- 1 user-name user-name 2314 3月 28 09:09 gradlew.bat
drwxrwxr-x 5 user-name user-name 4096 3月 29 18:40 .idea/
-rw-rw-r-- 1 user-name user-name 348 3月 28 09:17 local.properties
-rw-rw-r-- 1 user-name user-name 44 3月 28 09:09 README.md
-rw-rw-r-- 1 user-name user-name 866 3月 29 10:39 appName.iml
-rw-rw-r-- 1 user-name user-name 15 3月 28 09:09 settings.gradle
- 比较mark1和mark2,mark1带有×,同时两者的权限也不相同,于是处理权限。输入命令:chmod 775 gradlew;
3.处理方案
- 打开终端,在需要配置./gradlew权限的项目中输入命令:chmod 775 gradlew 即可;
4.产生原因
- 通过图像化界面的方式解压Android Studio,没有赋予权限。