微信公众号

Mac 配置 adb 环境、gradlew:command not found

今年 6 月 15 日,我痛下决心,买了心仪已久的 MacBook Pro,《2017 款 MacBook Pro 初体验》,Mac 小白,这篇文章是踩坑后的记录,也将持续记录,好记忆真不如烂笔头,现在会设置了,一个月过后呢,而且我年纪也大了。

配置 adb 环境

windows 下安装 apk,可能直接点击应用宝就安装了,Mac 没有应用宝,因为只能用 adb 命令行安装,却发现 adb 命令行找不到,算了,搁置了几天,之后安装 APK 很是麻烦,又不能拷到 SD 卡上,最终还是 Google,解决了这个问题。

在命令行下,进入用户目录

1
cd $HOME

.bash_profile文件

输入下行命令获取当前文件列表:

1
ls -al

查看文件列表,如果文件已经存在,则进行下一步。如果没有 .bash_profile 文件,执行以下命令新建:

1
touch .bash_profile

打开.bash_profile文件

执行下行命令打开文件

1
open -e .bash_profile

说明:

1
2
3
open .bash_profile:打开文件
touch .bash_profile:如果文件不存在就创建文件
open -e bash_profile:编辑文件

打开文件后,添加 sdk 的安装路径,如果你是安装的 Android Studio 而且没有手动去变换路径的话,直接复制下面两行命令后将用户名改为自己电脑的即可。如果自己修改了路径,则找到 /Android/sdk/platform-tools 和 /Android/sdk/tools 的路径,替换即可。

1
2
export PATH=${PATH}:/Users/用户名/Library/Android/sdk/platform-tools
export PATH=${PATH}:/Users/用户名/Library/Android/sdk/tools

更新刚配置的环境变量

1
source .bash_profile

查看配置结果

命令行:

1
adb version

显示 adb 版本号即为设置成功:

1
2
Android Debug Bridge version 1.0.39
Revision 3db08f2c6889-android

查看所有的配置路径

1
echo $PATH

gradlew: command not found

问题1

今天我想用命令行 gradlew assembleRelease 来打个 aar 文件出来,结果报:

1
bash: gradlew: command not found

问题2

Google,原来 Mac 需要前面加 ./,结果又报新的错误:

1
bash: ./gradlew: Permission denied

貌似没有权限,再次 Google,网上都在说,尝试在 gradlew 文件上设置执行标志:

1
chmod +x gradlew

却没说在那里设置,哪有gradlew 文件啊?实际在 Android Studio 的 Terminal 设置。

除掉这个标志,直接 -。

问题3

env: bash\r: No such file or directory

在mac环境中运行 ./gradlew 命令出现 env: bash\r: No such file or directory

原因:该项目创建很久了,该gradlew太旧了,复制一个 gradlew 文件过来即可

问题4

到这里,你以为就能运行了吗,No,这时候继续报错:

1
No Java runtime present, requesting install.

是啊,我安装 Android Studio,运行,居然可以,不用安装 JDK 吗,当时还想 Mac 这么好,JDK 都自带了,那为什么现在提示需要安装 JDK 呢,我看了项目的 JDK 路径,原来 Mac 版 Android Studio 已经自带 JDK 了,难道需要配置下 JDK 环境?Google Mac JDK环境配置,网上教程,都是配置另外安装的 JDK,我需要配置 Android Studio 下 JDK。
按照上面的 adb 环境配置步骤,打开 .bash_profile,添加如下:

1
2
3
#jdk安装路径
export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jre/jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

注意:目录 Android Studio 有空格,搜到 stackoverflow,加了\。

执行:

1
java -version

返回如下,说明配置成功:

1
2
3
openjdk version "1.8.0_112-release"
OpenJDK Runtime Environment (build 1.8.0_112-release-b06)
OpenJDK 64-Bit Server VM (build 25.112-b06, mixed mode)

这样配置完毕,命令行 gradlew assembleRelease 正常执行,解决之。

最后

问题一个接着一个,我都不想搞了,但一直以来,一个经验告诉我,遇到问题,不回避,解决才是王道,现在不解决,下次再遇到,还是回避不了。其实这些问题前人都遇到过,感谢他们无私分享,让我们遇到问题不再无助,不觉得孤独。

参考

mac下adb环境配置和常用adb命令

gradlew:权限被拒绝

mac OS X 10.9.1 配置jdk环境变量

Using JDK that is bundled inside Android Studio as JAVA_HOME on Mac