美文网首页
公司内网离线环境搭建Android Studio

公司内网离线环境搭建Android Studio

作者: iamayden | 来源:发表于2018-12-11 23:01 被阅读0次

背景

为什么要在离线环境里搭建?外网搭建不是很简单吗?

1、 搭建过程中所需SDK、Gradle等资源下载速度太慢。

2、 公司内部环境不允许使用外网。

现在为大家分享一下我在公司内网环境下搭建Android开发环境的辛酸历程。主要讲述一下我遇到问题及解决方案。

一、Android开发环境搭建

当我第一次接到这个任务的时候我欣喜若狂,想当然的以为搭建环境不是So easy的事情吗?我准备了:

1、Java jdk 8

2、Android Studio 3.2.1安装包

3、外网下载好的SDK压缩包

4、gradle-4.6-all.zip

到第二天把文件拷贝到内网一试,发现问题并没有那么简单,怎么调试也不通,瞬间崩溃!后来灰溜溜回去找到这篇文章解决了我的大问题。如果问题就这么简单就解决了,倒也罢了。编译是通过了可是离正常开发还差的远:

工程中所用的依赖包找不到,Gradle编译不通过?

这个棘手的问题,终于在浩如烟海的博客里捞到救命稻草,按照这个思路问题貌似是解决了,为什么说貌似,就是还没有解决,还好功夫不负有心人啊,还真有人把这个漏洞给不上了。

至此总算可以编译通过!

二、将Android依赖包上传到Nexus 3搭建的Maven私服仓库

如果按上面的方法每次都要拷贝Caches然后再处理文件夹路径问题,这显然不是一个好的方法,推荐使用Maven私服仓库管理包。想法都是好的,问题总是一个接一个,这个包怎么传到Maven仓库?我们发现Android依赖包大都是.ARR包,和一般的Maven JAR不同。通过将caches文件夹的依赖包路径转化以后和普通的Maven仓库很像,这个时候就可以通过脚本把包传到Nexus的Maven仓库。

gradle自动下载的包 经过工具处理后的包

下面介绍一种更简单、更智能的gradle脚本,将files-2.1文件下包转化为maven仓库包

1、脚本代码uploadToMaven.gradle


apply plugin:'maven'

// 指定编码

tasks.withType(JavaCompile) {

    options.encoding = "UTF-8"

}

// 本地仓库

def MAVEN_LOCAL_PATH= repositories.mavenLocal().url

// 缓存区转换到本地Maven仓库

task cacheToLocalMavenRepository(type:Copy) {

    group = 'upload'

    fromnew File(gradle.gradleUserHomeDir,'caches/modules-2/files-2.1')

    into MAVEN_LOCAL_PATH

eachFile{

        List<String> parts= it.path.split('/')

        it.path = (parts[0]+ '/' + parts[1]).replace('.','/') + '/' + parts[2] + '/' + parts[4]

    }

    includeEmptyDirsfalse

}



2、新建一个gradle项目,引用这个脚本

笔者是用Android Studio新建一个Android项目,将uploadToMaven.gradle文件放在模块app目录下,如图所示:

uploadToMaven.gradle文件所在位置

在app模块下build.gradle文件最后添加:

apply from: "/uploadToMavenaven.gradle"

引用脚本

修改Maven的setting.xml文件,更改仓库目录为空文件夹

在工具的最右侧点开gradle任务栏,在app模块下找到upload组

任务所在位置

3、将导出的本地仓库上传到私服仓库

4、内网环境新建的Android项目更改build.gradle文件中url为maven私服路径

maven { url 'http://.../'}

三、离线环境安装AVD

在内网环境下一般是不可能在线下载安装AVD的,首先要在外网把AVD安装好,多准备一些不通版本的API,安装好的AVD在SDK文件包下。

1、创建AVD Manager面板下创建虚拟机

选择一个机型,选择已有API,点击Finish即可。

创建好的虚拟机

2、启动虚拟机

启动虚拟机时候如果出现如下错误:

>emulator: ERROR: x86 emulation currently requires hardware acceleration! >Please ensure Intel HAXM is properly installed and usable. >CPU acceleration status: HAX kernel module is not installed!

说明VT没有打开,具体打开方式请参考这篇文章

如果虚拟机还是启动不了可能要考虑电脑配置问题了,内存至少8G才能保证流畅运行。

四、使用第三方虚拟机(MUMU模拟器)

1、下载模拟器

点击下载 提取码:wtdk

2、安装模拟器

傻瓜式安装。

3、连接模拟器

命令行切换到~SDK\platform-tools目录下执行命令:

adb connect 127.0.0.1:7555

连接MUMU模拟器

4、运行项目选择MUMU模拟

相关文章

网友评论

      本文标题:公司内网离线环境搭建Android Studio

      本文链接:https://www.haomeiwen.com/subject/fnfyhqtx.html