GithubHelp home page GithubHelp logo

kylemanna / docker-aosp Goto Github PK

View Code? Open in Web Editor NEW
503.0 17.0 237.0 47 KB

🏗 Minimal Android AOSP build environment with handy automation wrapper scripts

Home Page: https://registry.hub.docker.com/u/kylemanna/aosp/

License: MIT License

Shell 98.98% Makefile 1.02%
docker-image aosp wrapper docker android

docker-aosp's Introduction

Android Open Source Project Docker Build Environment

Docker Stars Docker Pulls ImageLayers

Minimal build environment for AOSP with handy automation wrapper scripts.

Developers can use the Docker image to build directly while running the distribution of choice, without having to worry about breaking the delicate AOSP build due to package updates as is sometimes common on bleeding edge rolling distributions like Arch Linux.

Production build servers and integration test servers should also use the same Docker image and environment. This eliminates most surprise breakages by by empowering developers and production builds to use the exact same environment. The devs will catch the issues with build environment first.

This works well on Linux. Running this via boot2docker (and friends) will result in a very painful performacne hit due to VirtualBox's vboxsf shared folder service which works terrible for very large file shares like AOSP. It might work, but consider yourself warned. If you're aware of another way to get around this, send a pull request!

Quickstart

For the terribly impatient.

  1. Make a directory to work and go there.

  2. Export the current directory as the persistent file store for the aosp wrapper.

  3. Run a self contained build script, which does:

    1. Attempts to fetch the aosp wrapper if not found locally.

    2. Runs the aosp wrapper with an extra argument for the docker binary and hints to the same script that when run later it's running in the docker container.

    3. The aosp wrapper then does it's magic which consists of fetching the docker image if not found and forms all the necessary docker run arguments seamlessly.

    4. The docker container runs the other half the build script which initializes the repo, fetches all source code, and builds.

    5. In parallel you are expected to be drinking because I save you some time.

       mkdir nougat ; cd nougat
       export AOSP_VOL=$PWD
       curl -O https://raw.githubusercontent.com/kylemanna/docker-aosp/master/tests/build-nougat.sh
       bash ./build-nougat.sh
      

    This takes about 2 hours to download and build on i5-2500k with 100Mb/s network connection.

How it Works

The Dockerfile contains the minimal packages necessary to build Android based on the main Ubuntu base image.

The aosp wrapper is a simple wrapper to simplify invocation of the Docker image. The wrapper ensures that a volume mount is accessible and has valid permissions for the aosp user in the Docker image (this unfortunately requires sudo). It also forwards an ssh-agent in to the Docker container so that private git repositories can be accessed if needed.

The intention is to use aosp to prefix all commands one would run in the Docker container. For example to run repo sync in the Docker container:

aosp repo sync -j2

The aosp wrapper doesn't work well with setting up environments, but with some bash magic, this can be side stepped with short little scripts. See tests/build-nougat.sh for an example of a complete fetch and build of AOSP.

A Docker Compose file is provided in the root of this repository, you can tweak it as need be:

version: "2"

services:
  aosp:
    image: kylemanna/aosp:latest
    volumes:
      - /tmp/ccache:/ccache
      - ~/aosp:/aosp

Example run: docker-compose run --rm aosp repo sync -j4 -- your android build directory will be in ~/aosp.

Issues

There are some known issues with using Docker Toolbox on macOS and current virtualization technologies resulting in unusual user ID assignments and very poor performing virtualization file sharing implementations with things like VirtualBox. It's recommended to run this image completely in a virtual machine with enough space to fit the entire build (80GB+) as opposed to mapping the build to the local macOS file system via VirtualBox or similar.

Tested

  • Android Kitkat android-4.4.4_r2.0.1
  • Android Lollipop android-5.0.2_r1
  • Android Marshmallow android-6.0.1_r80
  • Android Nougat android-7.0.0_r14

docker-aosp's People

Contributors

jcfr avatar kylemanna avatar robbyoconnor avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docker-aosp's Issues

what happen

Unable to find image 'kylemanna/docker-aosp:latest' locally
docker: Error response from daemon: manifest for kylemanna/docker-aosp:latest not found.
See 'docker run --help'

Hello,I run the script in centos, i got Out of memory error, why?? what should i do??

ninja: Entering directory `.'
[ 0% 8/22706] Ensure Jack server is installed and started
Writing client settings in /home/aosp/.jack-settings
Installing jack server in "/home/aosp/.jack-server"
Launching Jack server java -XX:MaxJavaStackTraceDepth=-1 -Djava.io.tmpdir=/tmp -Dfile.encoding=UTF-8 -XX:+TieredCompilation -cp /home/aosp/.jack-server/launcher.jar com.android.jack.launcher.ServerLauncher
[ 0% 15/22706] Building with Jack: out/target/common/obj/JAVA_LIBRARIES/core-all_intermediates/with-local/classes.dex
FAILED: /bin/bash out/target/common/obj/JAVA_LIBRARIES/core-all_intermediates/with-local/classes.dex.rsp
Out of memory error (version 1.2-rc4 'Carnac' (298900 f95d7bdecfceb327f9d201a1348397ed8a843843 by [email protected])).
Java heap space.
Try increasing heap size with java option '-Xmx'.
Warning: This may have produced partial or corrupted output.
[ 0% 15/22706] build out/target/common/obj/JAVA_LIBRARIES/sdk_v17_intermediates/classes.jack
ninja: build stopped: subcommand failed.
build/core/ninja.mk:148: recipe for target 'ninja_wrapper' failed
make: *** [ninja_wrapper] Error 1

Fails if ssh-agent is runnong on the host with Error response from daemon: mkdir /tmp/ssh-agent.sock: file exists.

rob at rob-LAPTOP in ~/aosp 
$ bash ./build-marshmallow.sh 
+ '[' '' = docker ']'
+ aosp_url=https://raw.githubusercontent.com/kylemanna/docker-aosp/master/utils/aosp
+ args='bash run.sh docker'
+++ dirname ./build-marshmallow.sh
++ cd .
++ pwd -P
++ basename ./build-marshmallow.sh
+ export 'AOSP_EXTRA_ARGS=-v /home/rob/aosp/build-marshmallow.sh:/usr/local/bin/run.sh:ro'
+ AOSP_EXTRA_ARGS='-v /home/rob/aosp/build-marshmallow.sh:/usr/local/bin/run.sh:ro'
+ export AOSP_IMAGE=kylemanna/aosp:6.0-marshmallow
+ AOSP_IMAGE=kylemanna/aosp:6.0-marshmallow
+ '[' -n '' ']'
+ '[' -x ../utils/aosp ']'
++ type -P aosp
+ '[' -n '' ']'
++ type -P curl
+ '[' -n /usr/bin/curl ']'
+ bash /dev/fd/63 bash run.sh docker
++ curl -s https://raw.githubusercontent.com/kylemanna/docker-aosp/master/utils/aosp
aosp: Checking if /home/rob/aosp exists
aosp: Checking if /home/rob/aosp exists - ok
aosp: Checking if /home/rob/ccache exists
aosp: Checking if /home/rob/ccache exists - ok

docker: Error response from daemon: mkdir /tmp/ssh-agent.sock: file exists.

How to run

We love your work, plz have a README on how to use the repo
Tons of thanks

Build fails as its unable to create the .repoconfig in the root

I ve been trying to follow the instructions of running build-kitkat.sh.
How ever the build fails as its unable to create the .repoconfig in the root. I presume the .repoconfig must be created in the home dir of the user and not in /
I also could not find run.sh in the docker container in /usr/local/bin/run.sh

Env : Ubuntu 14.04
I have a user group called docker and I m running the script from a user in that usergroup.

Log :

user@palm:~/docker-aosp/tests$ ./build-kitkat.sh
+ '[' '' = docker ']'
+ aosp_url=https://raw.githubusercontent.com/kylemanna/docker-aosp/master/utils/aosp
+ args='bash run.sh docker'
+++ dirname ./build-kitkat.sh
++ cd .
++ pwd -P
++ basename ./build-kitkat.sh
+ export 'AOSP_EXTRA_ARGS=-v /home/dhanasek/docker-aosp/tests/build-kitkat.sh:/usr/local/bin/run.sh:ro'
+ AOSP_EXTRA_ARGS='-v /home/dhanasek/docker-aosp/tests/build-kitkat.sh:/usr/local/bin/run.sh:ro'
+ export AOSP_IMAGE=kylemanna/aosp:4.4-kitkat
+ AOSP_IMAGE=kylemanna/aosp:4.4-kitkat
+ '[' -n '' ']'
+ '[' -x ../utils/aosp ']'
+ ../utils/aosp bash run.sh docker
+ AOSP_IMAGE=kylemanna/aosp:4.4-kitkat
+ AOSP_VOL=/home/dhanasek/docker-aosp/tests/kitkat
+ AOSP_ARGS='--rm -it'
+ AOSP_VOL_AOSP=/home/dhanasek/docker-aosp/tests/kitkat/aosp
+ AOSP_VOL_CCACHE=/home/dhanasek/docker-aosp/tests/kitkat/ccache
+ '[' '!' -d /home/dhanasek/docker-aosp/tests/kitkat/aosp -o '!' -d /home/dhanasek/docker-aosp/tests/kitkat/ccache ']'
+ '[' -n '' ']'
+ docker run --rm -it -v /home/dhanasek/docker-aosp/tests/build-kitkat.sh:/usr/local/bin/run.sh:ro -v /home/dhanasek/docker-aosp/tests/kitkat/aosp:/aosp -v /home/dhanasek/docker-aosp/tests/kitkat/ccache:/tmp/ccache kylemanna/aosp:4.4-kitkat bash run.sh docker
+ '[' docker = docker ']'
+ TEST_BRANCH=android-4.4.4_r2.0.1
+ TEST_URL=https://android.googlesource.com/platform/manifest
++ grep '^processor' /proc/cpuinfo
++ wc -l
+ cpus=4
+ repo init --depth 1 -u https://android.googlesource.com/platform/manifest -b android-4.4.4_r2.0.1
fatal: cannot make /.repoconfig directory: Permission denied

what wrong with compiling killed?

target thumb C++: libdeqp <= external/deqp/modules/gles2/functional/es2fVertexArrayTest.cpp
target thumb C++: libdeqp <= external/deqp/modules/gles2/functional/es2fVertexTextureTests.cpp
target thumb C++: libdeqp <= external/deqp/modules/gles2/performance/es2pBlendTests.cpp
target thumb C++: libdeqp <= external/deqp/modules/gles2/performance/es2pDrawCallBatchingTests.cpp
target thumb C++: libdeqp <= external/deqp/modules/gles2/performance/es2pPerformanceTests.cpp
target thumb C++: libdeqp <= external/deqp/modules/gles2/performance/es2pRedundantStateChangeTests.cpp
target thumb C++: libdeqp <= external/deqp/modules/gles2/performance/es2pShaderCompilationCases.cpp
target thumb C++: libdeqp <= external/deqp/modules/gles2/performance/es2pShaderCompilerTests.cpp
target thumb C++: libdeqp <= external/deqp/modules/gles2/performance/es2pShaderControlStatementTests.cpp
target thumb C++: libdeqp <= external/deqp/modules/gles2/performance/es2pShaderOperatorTests.cpp
target thumb C++: libdeqp <= external/deqp/modules/gles2/performance/es2pShaderOptimizationTests.cpp
target thumb C++: libdeqp <= external/deqp/modules/gles2/performance/es2pStateChangeCallTests.cpp
target thumb C++: libdeqp <= external/deqp/modules/gles2/performance/es2pStateChangeTests.cpp
target thumb C++: libdeqp <= external/deqp/modules/gles2/performance/es2pTextureCases.cpp
target thumb C++: libdeqp <= external/deqp/modules/gles2/performance/es2pTextureCountTests.cpp
target thumb C++: libdeqp <= external/deqp/modules/gles2/performance/es2pTextureFilteringTests.cpp
target thumb C++: libdeqp <= external/deqp/modules/gles2/performance/es2pTextureFormatTests.cpp
target thumb C++: libdeqp <= external/deqp/modules/gles2/performance/es2pTextureUploadTests.cpp
make: *** [out/target/product/generic/obj/SHARED_LIBRARIES/libdeqp_intermediates/modules/gles2/functional/es2fUniformApiTests.o] Killed
make: *** Waiting for unfinished jobs....
make: *** [out/target/product/generic/obj/SHARED_LIBRARIES/libdeqp_intermediates/modules/gles2/performance/es2pShaderOptimizationTests.o] Killed
make: *** [out/target/product/generic/obj/SHARED_LIBRARIES/libdeqp_intermediates/modules/gles2/performance/es2pTextureFormatTests.o] Killed
make: *** [out/target/product/generic/obj/SHARED_LIBRARIES/libdeqp_intermediates/modules/gles2/functional/es2fTextureSpecificationTests.o] Killed
make: *** [out/target/product/generic/obj/SHARED_LIBRARIES/libdeqp_intermediates/modules/gles2/performance/es2pDrawCallBatchingTests.o] Killed
make: *** [out/target/product/generic/obj/SHARED_LIBRARIES/libdeqp_intermediates/modules/gles2/performance/es2pShaderCompilationCases.o] Killed
make: *** [out/target/product/generic/obj/SHARED_LIBRARIES/libdeqp_intermediates/modules/gles2/performance/es2pShaderOperatorTests.o] Killed
make: *** [out/target/product/generic/obj/SHARED_LIBRARIES/libdeqp_intermediates/modules/gles2/functional/es2fShaderOperatorTests.o] Killed
make: *** [out/target/product/generic/obj/SHARED_LIBRARIES/libdeqp_intermediates/modules/gles2/performance/es2pStateChangeTests.o] Killed
make: *** [out/target/product/generic/obj/SHARED_LIBRARIES/libdeqp_intermediates/modules/gles2/performance/es2pTextureCases.o] Killed
make: *** [out/target/product/generic/obj/SHARED_LIBRARIES/libdeqp_intermediates/modules/gles2/performance/es2pTextureUploadTests.o] Killed
make: *** [out/target/product/generic/obj/SHARED_LIBRARIES/libdeqp_intermediates/modules/gles2/performance/es2pShaderControlStatementTests.o] Killed
make: *** [out/target/product/generic/obj/SHARED_LIBRARIES/libdeqp_intermediates/modules/gles2/functional/es2fTextureUnitTests.o] Killed
make: *** [out/target/product/generic/obj/SHARED_LIBRARIES/libdeqp_intermediates/modules/gles2/performance/es2pTextureCountTests.o] Killed
build/envsetup.sh: line 1455:  3548 Killed                  make -j 16
root@U1604:~#
root@U1604:~# ls
aosp-root  build-marshmallow.sh 

Error running build-nougat.sh

Getting the following error when running the script...

docker_entrypoint: Creating user UID/GID [501/20]
groupadd: GID '20' already exists
docker_entrypoint: Creating user UID/GID [501/20] - done
docker_entrypoint: Copying .gitconfig and .ssh/config to new user home
cp: cannot create regular file '/home/aosp/.gitconfig': No such file or directory
docker_entrypoint: Creating /tmp/ccache and /aosp directory
chown: invalid user: 'aosp:aosp'

bash: run.sh: No such file or directory

My Operation is Windows 10, Use DockerToolbox,It's say run.sh cann't find

$ ./build-kitkat.sh
+ '[' '' = docker ']'
+ aosp_url=https://raw.githubusercontent.com/kylemanna/docker-aosp/master/utils/aosp
+ args='bash run.sh docker'
+++ dirname ./build-kitkat.sh
++ cd .
++ pwd -P
++ basename ./build-kitkat.sh
+ export 'AOSP_EXTRA_ARGS=-v /f/kitkat/build-kitkat.sh:/usr/local/bin/run.sh:ro'
+ AOSP_EXTRA_ARGS='-v /f/kitkat/build-kitkat.sh:/usr/local/bin/run.sh:ro'
+ export AOSP_IMAGE=kylemanna/aosp:4.4-kitkat
+ AOSP_IMAGE=kylemanna/aosp:4.4-kitkat
+ '[' -n '' ']'
+ '[' -x ../utils/aosp ']'
++ type -P aosp
+ '[' -n /usr/local/bin/aosp ']'
+ aosp bash run.sh docker
aosp: Checking if /f/kitkat/aosp exists
aosp: Checking if /f/kitkat/aosp exists - ok
aosp: Checking if /f/kitkat/ccache exists
aosp: Checking if /f/kitkat/ccache exists - ok

bash: run.sh: No such file or directory

Ubuntu build failed

error log

/usr/local/bin/docker-entrypoint.sh: /usr/local/bin/run.sh: /bin/bash: bad interpreter: No such file or directory
/usr/local/bin/docker-entrypoint.sh: line 11: /usr/local/bin/run.sh: No error information

how to fix it?

windows 10 build aosp fail

I use git bash to execute shell .

$ bash ./build-nougat.sh
+ '[' '' = docker ']'
+ aosp_url=https://raw.githubusercontent.com/kylemanna/docker-aosp/master/utils/aosp
+ args='bash run.sh docker'
+++ dirname ./build-nougat.sh
++ cd .
++ pwd -P
++ basename ./build-nougat.sh
+ export 'AOSP_EXTRA_ARGS=-v /d/docker/docker-aosp/tests/build-nougat.sh:/usr/local/bin/run.sh:ro'
+ AOSP_EXTRA_ARGS='-v /d/docker/docker-aosp/tests/build-nougat.sh:/usr/local/bin/run.sh:ro'
+ '[' -n '' ']'
+ '[' -x ../docker_aosp ']'
+ ../docker_aosp bash run.sh docker
AOSP IMAGE weishu/build-aosp
aosp: Checking if Android/aosp exists
aosp: Checking if Android/aosp exists - unexistent
Creating Android/aosp
Creating Android/aosp - ok
aosp: Checking if Android/ccache exists
aosp: Checking if Android/ccache exists - unexistent
Creating Android/ccache
Creating Android/ccache - ok

the input device is not a TTY.  If you are using mintty, try prefixing the command with 'winpty'

I add winpty before docker.
then,

$ bash ./build-nougat.sh
+ '[' '' = docker ']'
+ aosp_url=https://raw.githubusercontent.com/kylemanna/docker-aosp/master/utils/aosp
+ args='bash run.sh docker'
+++ dirname ./build-nougat.sh
++ cd .
++ pwd -P
++ basename ./build-nougat.sh
+ export 'AOSP_EXTRA_ARGS=-v /d/docker/docker-aosp/tests/build-nougat.sh:/usr/local/bin/run.sh:ro'
+ AOSP_EXTRA_ARGS='-v /d/docker/docker-aosp/tests/build-nougat.sh:/usr/local/bin/run.sh:ro'
+ '[' -n '' ']'
+ '[' -x ../docker_aosp ']'
+ ../docker_aosp bash run.sh docker
AOSP IMAGE weishu/build-aosp
aosp: Checking if Android/aosp exists
aosp: Checking if Android/aosp exists - ok
aosp: Checking if Android/ccache exists
aosp: Checking if Android/ccache exists - ok

C:/Program Files/Docker/Docker/Resources/bin/docker.exe: Error response from daemon: Mount denied:
The source path "Android\\ccache;C"
is not a valid Windows path.
See 'C:/Program Files/Docker/Docker/Resources/bin/docker.exe run --help'.

Permission denied when setting compiler cache

I am trying to use this image on a google cloud compute engine VM, and right after syncing the repo, I get the following error:

+ prebuilts/misc/linux-x86/ccache/ccache -M 10G
/usr/local/bin/run.sh: line 23: prebuilts/misc/linux-x86/ccache/ccache: Permission denied

I tried disabling compiler cache, because I know it is not strictly necessary, but then I get permission errors when actually compiling.

/bin/bash: prebuilts/clang/host/linux-x86/clang-2690385/bin/clang++: Permission denied
build/kati/Makefile.ckati:88: recipe for target 'out/host/linux-x86/obj/EXECUTABLES/ckati_intermediates/exec.o' failed
make: *** [out/host/linux-x86/obj/EXECUTABLES/ckati_intermediates/exec.o] Error 126
/bin/bash: prebuilts/clang/host/linux-x86/clang-2690385/bin/clang++: Permission denied
build/kati/Makefile.ckati:88: recipe for target 'out/host/linux-x86/obj/EXECUTABLES/ckati_intermediates/eval.o' failed
make: *** [out/host/linux-x86/obj/EXECUTABLES/ckati_intermediates/eval.o] Error 126

I tried doing a harsh sudo chmod -R 0777 $AOSP_VOL and even so the error remained.

From reading the source I've seen there some special thing being done to create user aosp, and I suppose this issue must be related.

chown: changing ownership of '/tmp/ccache': Operation not permitted

docker_entrypoint: Creating user UID/GID [1000/1000]
docker_entrypoint: Creating user UID/GID [1000/1000] - done
docker_entrypoint: Copying .gitconfig and .ssh/config to new user home
docker_entrypoint: Copying .gitconfig and .ssh/config to new user home - done
docker_entrypoint: Creating /tmp/ccache and /aosp directory
chown: changing ownership of '/tmp/ccache': Operation not permitted
chown: changing ownership of '/aosp': Operation not permitted
how can i do this? id repeat?

Consider declaring environment variables to fix builds where java version is in transition

Currently, the container tags (e.g. for 6.0) will fail on some 6.0 builds. Similarly, older versions (e.g. KK to Lollipop) will fail on some builds. This is caused by java version mismatch - When transitioning K to L to M, the AOSP team doesn't immediately switch to the new java version. For example, Android M 6.0.0_r26 builds with Java 7 by default, while M 6.0.1_r26 builds with Java 8 by default.

These 'in transition' builds allow you to try and build with the newer build system by setting environment variables that are picked up by build/core/main.mk e.g.

# Check for the correct version of java, should be 1.7 by
# default, and 1.8 if EXPERIMENTAL_USE_JAVA8 is set
ifneq ($(EXPERIMENTAL_USE_JAVA8),)
required_version := "1.8.x"
required_javac_version := "1.8"
java_version := $(shell echo '$(java_version_str)' | grep 'openjdk .*[ "]1\.8[\. "$$]')
javac_version := $(shell echo '$(javac_version_str)' | grep '[ "]1\.8[\. "$$]')
else # default
required_version := "1.7.x"
required_javac_version := "1.7"
java_version := $(shell echo '$(java_version_str)' | grep '^java .*[ "]1\.7[\. "$$]')
javac_version := $(shell echo '$(javac_version_str)' | grep '[ "]1\.7[\. "$$]')
endif # if EXPERIMENTAL_USE_JAVA8

The only two variables they have ever used for this purpose are LEGACY_USE_JAVA6 and EXPERIMENTAL_USE_JAVA8

There are basically two ways to fix this - either set some environment variables in the currently-failing images that cause the build system to pick up the java version you have installed and give it a try (e.g. for 6.0 container set EXPERIMENTAL_USE_JAVA8=true so in transition builds pick this up), or add some documentation to the README about this issue and let users know that errors of this sort are probably caused by this and they should just try a different container:

============================================
Checking build tools versions...
************************************************************
You are attempting to build with the incorrect version
of java.
 
Your version is: openjdk version "1.8.0_111" OpenJDK Runtime Environment (build 1.8.0_111-8u111-b14-2ubuntu0.16.04.2-b14) OpenJDK 64-Bit Server VM (build 25.111-b14, mixed mode).
The required version is: "1.7.x"
 
Please follow the machine setup instructions at
    https://source.android.com/source/initializing.html
************************************************************
build/core/main.mk:171: *** stop.  Stop.
make: Leaving directory '/aosp'

Non quick and dirty setup

I am not understanding the quick start instructions at all. Is there a more detailed setup? You mention create a directory, but where? In the container or local machine. The docker container has an AOSP folder but its empty, where are the build scripts? Do we clone this repo in the container or local box? This command does not make sense "docker run --rm -it -v $PWD/build-kitkat.sh:/usr/local/bin/run.sh:ro kylemanna/aosp ls -l /usr/local/bin/run.sh" as kyemanna/aosp container does not exist.

If you have a more detailed guide, it would be great. Thanks.

chown: invalid user: 'aosp:aosp'

ocker_entrypoint: Creating user UID/GID [501/20]
groupadd: GID '20' already exists
docker_entrypoint: Creating user UID/GID [501/20] - done
docker_entrypoint: Copying .gitconfig and .ssh/config to new user home
cp: cannot create regular file '/home/aosp/.gitconfig': No such file or directory
docker_entrypoint: Creating /tmp/ccache and /aosp directory
chown: invalid user: 'aosp:aosp'

Build fails on OSX Timestamp

Getting this error building:
FAILED: /bin/bash out/target/common/docs/system-api-stubs-timestamp.rsp
out/target/common/docs/system-api-stubs-timestamp.rsp: line 1: 21391 Killed javadoc -encoding UTF-8 @out/target/common/obj/JAVA_LIBRARIES/system-api-stubs_intermediates/droiddoc-src-list -J-Xmx1600m -XDignore.symbol.file -quiet -doclet com.google.doclava.Doclava -docletpath out/host/linux-x86/framework/jsilver.jar:out/host/linux-x86/framework/doclava.jar -templatedir build/tools/droiddoc/templates-sdk -htmldir frameworks/base/docs/html -bootclasspath out/target/common/obj/JAVA_LIBRARIES/core-oj_intermediates/classes.jar:out/target/common/obj/JAVA_LIBRARIES/core-libart_intermediates/classes.jar -classpath out/target/common/obj/JAVA_LIBRARIES/bouncycastle_intermediates/classes.jar:out/target/common/obj/JAVA_LIBRARIES/conscrypt_intermediates/classes.jar:out/target/common/obj/JAVA_LIBRARIES/core-libart_intermediates/classes.jar:out/target/common/obj/JAVA_LIBRARIES/core-oj_intermediates/classes.jar:out/target/common/obj/JAVA_LIBRARIES/ext_intermediates/classes.jar:out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar:out/target/common/obj/JAVA_LIBRARIES/icu4j_intermediates/classes.jar:out/target/common/obj/JAVA_LIBRARIES/okhttp_intermediates/classes.jar:out/target/common/obj/JAVA_LIBRARIES/telephony-common_intermediates/classes.jar:out/target/common/obj/JAVA_LIBRARIES/voip-common_intermediates/classes.jar: -sourcepath frameworks/base/core/java:frameworks/base/graphics/java:frameworks/base/location/java:frameworks/base/media/java:frameworks/base/media/mca/effect/java:frameworks/base/media/mca/filterfw/java:frameworks/base/media/mca/filterpacks/java:frameworks/base/drm/java:frameworks/base/opengl/java:frameworks/base/sax/java:frameworks/base/telecomm/java:frameworks/base/telephony/java:frameworks/base/wifi/java:frameworks/base/keystore/java:frameworks/base/rs/java:out/target/common/obj/JAVA_LIBRARIES/bouncycastle_intermediates/classes.jar:out/target/common/obj/JAVA_LIBRARIES/conscrypt_intermediates/classes.jar:out/target/common/obj/JAVA_LIBRARIES/core-libart_intermediates/classes.jar:out/target/common/obj/JAVA_LIBRARIES/core-oj_intermediates/classes.jar:out/target/common/obj/JAVA_LIBRARIES/ext_intermediates/classes.jar:out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar:out/target/common/obj/JAVA_LIBRARIES/icu4j_intermediates/classes.jar:out/target/common/obj/JAVA_LIBRARIES/okhttp_intermediates/classes.jar:out/target/common/obj/JAVA_LIBRARIES/telephony-common_intermediates/classes.jar:out/target/common/obj/JAVA_LIBRARIES/voip-common_intermediates/classes.jar: -d out/target/common/docs/system-api-stubs -hdf page.build NZH54D-$(cat out/build_number.txt) -hdf page.now "$(date -d @$(cat out/build_date.txt) "+%d %b %Y %k:%M")" -knowntags ./frameworks/base/docs/knowntags.txt -knowntags ./libcore/known_oj_tags.txt -hidePackage com.android.org.conscrypt -since prebuilts/sdk/api/1.xml 1 -since prebuilts/sdk/api/2.xml 2 -since prebuilts/sdk/api/3.xml 3 -since prebuilts/sdk/api/4.xml 4 -since prebuilts/sdk/api/5.xml 5 -since prebuilts/sdk/api/6.xml 6 -since prebuilts/sdk/api/7.xml 7 -since prebuilts/sdk/api/8.xml 8 -since prebuilts/sdk/api/9.xml 9 -since prebuilts/sdk/api/10.xml 10 -since prebuilts/sdk/api/11.xml 11 -since prebuilts/sdk/api/12.xml 12 -since prebuilts/sdk/api/13.xml 13 -since prebuilts/sdk/api/14.txt 14 -since prebuilts/sdk/api/15.txt 15 -since prebuilts/sdk/api/16.txt 16 -since prebuilts/sdk/api/17.txt 17 -since prebuilts/sdk/api/18.txt 18 -since prebuilts/sdk/api/19.txt 19 -since prebuilts/sdk/api/20.txt 20 -since prebuilts/sdk/api/21.txt 21 -since prebuilts/sdk/api/22.txt 22 -since prebuilts/sdk/api/23.txt 23 -since prebuilts/sdk/api/24.txt 24 -since prebuilts/sdk/api/25.txt 25 -werror -hide 111 -hide 113 -overview frameworks/base/core/java/overview.html -hdf sdk.codename N -hdf sdk.preview.version 5 -hdf sdk.version 7.0 -hdf sdk.rel.id 1 -hdf sdk.preview 0 -referenceonly -showAnnotation android.annotation.SystemApi -api out/target/common/obj/PACKAGING/system-api.txt -removedApi out/target/common/obj/PACKAGING/system-removed.txt -nodocs -stubs out/target/common/obj/JAVA_LIBRARIES/android_system_stubs_current_intermediates/src
[ 6% 2234/35163] Docs droiddoc: out/target/common/docs/api-stubs
FAILED: /bin/bash out/target/common/docs/api-stubs-timestamp.rsp

Any ideas?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.