安装docker及配置Android开发环境

时间:2023-03-08 15:09:06
安装docker及配置Android开发环境

安装docker

官方原来的安装docker的脚本https://get.docker.com/已经过时,现在使用的是https://get.docker.com/,命令如下:

curl -s https://get.docker.com/ |sudo sh

安装成功后最后输出如下:

+ sh -c docker version
Client:
 Version:      1.9.1
 API version:  1.21
 Go version:   go1.4.2
 Git commit:   a34a1d5
 Built:        Fri Nov 20 13:20:08 UTC 2015
 OS/Arch:      linux/amd64

Server:
 Version:      1.9.1
 API version:  1.21
 Go version:   go1.4.2
 Git commit:   a34a1d5
 Built:        Fri Nov 20 13:20:08 UTC 2015
 OS/Arch:      linux/amd64

If you would like to use Docker as a non-root user, you should now consider
adding your user to the "docker" group with something like:

  sudo usermod -aG docker your-user

Remember that you will have to log out and back in for this to take effect!

依上面提示,如果非root用户来使用Docker的话,需要把用户名配置到docker群组里。配置完成之后,需要先注销再重新登录,才能生效。

未注销时:

~$ docker search Android
Cannot connect to the Docker daemon. Is the docker daemon running on this host?

注销一下,再重新登录回来。

配置Android开发环境

搜了一下,上面还是有很多Android环境的docker的,如下:

haohang@haohang-desktop:~$ docker search Android
NAME                         DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
jacekmarchwicki/android      This docker is to build Android Gradle pro...   36                   [OK]
wasabeef/android             Android Development Environment                 19                   [OK]
ahazem/android                                                               15                   [OK]
ksoichiro/android-emulator   Android and emulator with gradle cache.         14                   [OK]
aluedeke/appium-android      Appium Server setup for automated android ...   10                   [OK]
gfx2015/android              Dockerfile for Android projects (Android S...   9                    [OK]
dockerbase/android           Docker Base: android - https://github.com/...   6                    [OK]
ksoichiro/android            Android SDK for development.                    5                    [OK]
bitriseio/docker-android     android base                                    4                    [OK]
beevelop/android             Personal Android image – use at your own...     4                    [OK]
wolfitem/android-studio      android studio 国人支持中文                           3                    [OK]
manabugt/android             Dockerfile for Android projects (Android S...   2                    [OK]
jitpack/android              Android SDK                                     1                    [OK]
wernight/android             Builds Android Gradle project with Java 7       1                    [OK]
heikomaass/android-sdk       Android SDK                                     1                    [OK]
sloydev/android-env          Building environment for Android applications   1                    [OK]
moss/android                 android env                                     1                    [OK]
vicamo/android-pdk                                                           0                    [OK]
mcfedr/android               For building android apps in docker             0                    [OK]
izumin5210/android           Android development env                         0                    [OK]
alljoynsville/android        android image                                   0                    [OK]
beevelop/android-nodejs      Android with Node.js                            0                    [OK]
uphyca/android               Android development environment with Oracl...   0                    [OK]
bssthu/android               build Android Gradle project                    0                    [OK]
vkyii/android                android base on alpine                          0                    [OK]

执行:

$ docker run jacekmarchwicki/android
Unable to find image 'jacekmarchwicki/android:latest' locally
latest: Pulling from jacekmarchwicki/android

当执行docker run xxx的时候,docker命令首先会在本地系统查找该镜像,如果没有找到,就到hub上找。

docker images可以列出在本地系统上的镜像。

此篇搁置。


最新情况说明:

原来是想在服务器上搭docker版gitlab-ci的,现在改了。

改为在自己电脑上装gitlab-ci-multi-runner,然后注册到公司gitlab-ci上。也就是在本机上跑gitlab-ci-runner。

官方提供的脚本,通过添加源然后apt-get install的安装方式没成功,最后是直接用官方提供的命令,使用wget下载下来。

但是出现如下问题:

1,gitlab ci上显示pending

2,官方提供的命令是下载到/usr/local/bin上,运行ci的时候报没有权限创建builds文件夹。

3,注册多了一个runner,在gitlab-ci网页端先删掉了,但是本地的还在,用gitlab-ci-multi-runner unregister反注册不了,也停止不了服务。

对于1,后来发现需要在本机上执行gitlab-ci-multi-runner run,服务器上才会跑ci。

对于2 ,本来想在那个目录设置普通用户权限的,后改为把gitlab-ci-multi-runner文件移到个人的一个目录下。

对于3,修改~/.gitlab-runner/config.toml,把无效的runner删掉就可以。