Android Studio 离线开发及配置本地Junit
大家是不是被一个项目建立时不停的Sync搞得心神不宁?没错,俺也一样(脑补张飞)。这是因为,在Sync的时候,IDE找不到相应的gradle,在线下载包而导致的。这个包有四五百兆,你懂得。
所以,根据我的血泪斗争史,我来说说让这个Android Studio停止他的表演下载的方法。
1、找到你的gradle目录
一般来说,AS安装好的时候,会同时安装好Android SDK,其中会附带一个gradle的包。在D:\Program Files\Android\Android Studio\gradle\gradle-4.6(我安装在这个目录,你们可以找AS的安装目录,然后找其下的gradle/gradle-x.x的目录)。
2、新建一个项目
为了探究修改的方法,不要在你已有的项目上设置这些,以防毁掉项目。我们新建一个试验项目。
首先把网断开。这一步极端重要,涉及到Sync能否开始的问题,如果连着网,项目建立后,Sync自动开始,会联网下载gradle包。一旦开始便不可停止。
按照常规方法建立一个项目。Sync自动开始后立刻退出,提示unknow host service.gradle.org, you may need adjust the proxy settings in gradle
3、修改项目的gradle配置文件
如果出现刚才的错误提示,说明操作正确。我们下面打开项目的App目录下的build.gradle文件。
在dependencies块下,添加一行:
implementation 'android.arch.lifecycle:extensions:1.1.1'
下一步,打开项目根目录下的build.gradle文件。
在allprojects.repository块下,把google()删掉,改成
maven { url "https://maven.google.com" }
4、修改设置
找到菜单栏–> 文件–> 设置–> 构建、执行、部署–> gradle
选中use local gradle distribution,gradle目录就是刚才找到的目录
然后再选中offline work,gradle目录和上面的目录一样。
最后记得把网连上。
5、重新Sync
如果没有报错就成功啦!
6、配置本地Junit
可能,有时我们需要做单元测试。Junit4.12是不二选择。但是,我们在app下的build.gradle中添加以下依赖:
testImpletation 'junit:junit:4.12'
由于是离线开发,所以,无法在线下载Junit4.12的包依赖。
当然,我们不会束手就擒。如果有现成的Junit包,那就丝毫不用担心。
Junit4.12有两个jar包,一个叫做hamcrest-core-1.3.jar
,一个叫做junit-4.13-beta-2.jar
。因此,我们只需要按照添加jar包依赖的方式去做就行。
首先把这两个jar包复制到项目的libs目录下。
然后app下的build.gradle中,应在dependencies
块下添加如下两行:
testImplementation files('libs/hamcrest-core-1.3.jar')
testImplementation files('libs/junit-4.13-beta-2.jar')
重新Sync就好啦!
Junit测试方法,我会另行讲述,包括但不限于断言等等。