文章同步更新在 https://maitian.io
这几天又把mac上的开发环境搭建起来了,方便周六日的时候在家干活,唉,这种思想,怪不得一辈子程序员
毫无疑问,android studio + gradle在我国的网络环境中,不出问题是不现实的,虽然之前写过一些踩过的坑,但这次搭环境,比之前有过之而无不及,满满的都是坑
1. mac上出现 no route to host
在Android studio gradle 问题汇总这篇文章中也有解决方案,就是在gradle.properties文件中添加下面代码:
org.gradle.jvmargs=-Xmx1536m -DsocksProxyHost=127.0.0.1 -DsocksProxyPort=1080
当时的确是解决了问题,但是后来又出现了同样的问题,然后用这种方案就行不通了,当然也有可能跟公司的网络环境有关系,如果你也遇到了这个问题,并且设置了代理依旧不行的话,可以试试下面的做法:
将jdk的版本升级到
jdk8 8u202
及以上版本,刚好当时我自己的版本是201,就遇到了这儿问题,将版本升级了以后,就好了,貌似这是java的一个BUG,然后在202版本修复了,具体的BUG说明链接找不到了,如果需要下载jdk的话,可以从下面的链接下载,不用注册或登录oracle的帐号
https://github.com/frekele/oracle-java/releases
2. 使用自定义的maven服务器
有一个依赖库放在了公司内的maven服务器上,每次更新时,如果设置了代码,那肯定是访问不了maven服务器的,因为默认maven服务器也会走代理的,所以需要啊将maven服务器排除掉
# gradle.properties
org.gradle.jvmargs=-DsocksProxyHost=127.0.0.1 -DsocksProxyPort=1080 -DsocksNonProxyHosts=maven.example.com
如果在命令行中执行的话,需要这样设置:
./gradlew yourTaskName -DsocksProxyHost=127.0.0.1 -DsocksProxyPort=1080 -DsocksNonProxyHosts=maven.example.com
3. 命令行编译安装运行apk
在mac上开发时,本来屏幕就小,还要打开底部的各种窗口来看log输出,总感觉很不爽,所以一般我都是开一个终端,在终端中执行命令来编译,安装,运行
例如,我的项目名为 minio
./gradlew clean compileMinioReleaseSources installMinioRelease --info && adb shell am start -n com.example.minio/.ui.SplashActivity
清理缓存: clean
(如果你的xml资源文件改过,请执行clean任务,否则有可能安装后界面不会变化,而且会导致空指针异常,如果资源文件没改动过,可以去掉clean任务,节省一些时间)
编译: compileMinioReleaseSources
安装: installMinioRelease
运行: adb shell am start -n com.example.minio/.ui.SplashActivity
网友评论