Android: 工具使用备忘
JDK
当需要从命令行启动 gradlew 时,初次启动往往会报错: JAVA_HOME not set
, 一种常见解决方案是自行安装 JDK, 其实 Android Studio 自带有 JDK, 只需要将路径设置一下即可。
export JAVA_HOME="{android-studio_install_path}/jre"
Ref: https://intellij-support.jetbrains.com/hc/en-us/articles/206544879
Gradle
Gradle本地路径设置
如果在AndroidStudio内设置了使用local的Gradle路径,就直接放那边,啥问题都不会有。如果使用推荐的设置,那么更新的时候很有可能会有问题。
在线下载Gradle的速度超慢,遇到Gradle问题不要打开Android Studio,极易卡死,直接命令行操作简单有效。
跑一下./gradlew -v
or ./gradlew assembleDebug
如果卡在下载Gradle这一步,好直接强退,跑到路径
/Users/YOUR_NAME/.gradle/wrapper/dists/gradle-2.14.1-bin/
这样的路径下,可以看到里面自动生成了一个乱七八糟名字的文件夹,里面就是下载的临时文件。去Gradle网站下载地址 自己下载对应的压缩包(毋须解压),放到那个乱码的文件夹内,重新跑上面的命令,完工!
Gradle 代理设置
Gradle 连接性很差,因为众所周知的原因,给 Gradle 设置代理可以避免这个问题。
properties
首先本机要先挂上代理,我用的是 shadowsocks,所以使用 socks 代理。打开 gradle.properties 文件,加上这样两句:
systemProp.socks.proxyHost = 127.0.0.1
systemProp.socks.proxyPort = 1080
如果你的电脑使用的是 vpn,那么你需要设置的就是 http/https 代理,具体方法大概就是
systemProp.http.proxyHost=www.proxyhost.org
systemProp.http.proxyPort=8080
systemProp.http.proxyUser=userid
systemProp.http.proxyPassword=password
systemProp.http.nonProxyHosts=*.nonproxyrepos.com|localhost
systemProp.https.proxyHost=www.proxyhost.org
systemProp.https.proxyPort=8080
systemProp.https.proxyUser=userid
systemProp.https.proxyPassword=password
systemProp.https.nonProxyHosts=*.nonproxyrepos.com|localhost
command line 命令行
HTTP Only Proxy configuration
gradlew -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=3128
HTTPS Only Proxy configuration
gradlew -Dhttps.proxyHost=127.0.0.1 -Dhttps.proxyPort=3129
Both HTTP and HTTPS Proxy configuration
gradlew -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=3128 -Dhttps.proxyHost=127.0.0.1 -Dhttps.proxyPort=3129
Shadowsocks Proxy
./gradlew -DsocksProxyHost=127.0.0.1 -DsocksProxyPort=1080
gradlew
或 ./gradlew
视具体运行平台而定