- jangrewe / gitlab-ci-android Go PK Goto Github PK
- gitlab-ci-android’s Introduction
- Contributors
- Stargazers
- Watchers
- Forkers
- gitlab-ci-android’s Issues
- TLS handshake timeout
- License
- Gradle build daemon disappeared unexpectedly (it may have been killed or may have crashed)
- pull docker fail
- Pass txt file to sdkmanager
- Firebase Library Error
- [Suggestion] Gradle and NDK tool
- Build failed using .gitlab-ci.yml example from ReadMe
- Replace Ubuntu with Alpine
- Add NDK version
- ndk support?
- Could not find com.android.tools.build:gradle:3.0.0
- Could not find ANDROID_SDK_ROOT
- NoClassDefFoundError
- Allow override of SDK version
jangrewe / gitlab-ci-android Go PK Goto Github PK
GitLab CI image for building Android apps
License: MIT License
gitlab-ci-android’s Introduction
This Docker image contains the Android SDK and most common packages necessary for building Android apps in a CI tool like GitLab CI. Make sure your CI environment’s caching works as expected, this greatly improves the build time, especially if you use multiple build jobs.
A .gitlab-ci.yml with caching of your project’s dependencies would look like this:
Contributors
Stargazers
Watchers
Forkers
gitlab-ci-android’s Issues
TLS handshake timeout
Hello,
at some point I’m getting:
transformClassesWithPreJackRuntimeLibrariesForDebug
«ERROR: Build failed (system failure): Get https://ip:port/v1.18/containers/716cd1414d69221bdc8d317351aa113adf30b1bdb14273541f8293534c97c460/json: net/http: TLS handshake timeout»
Any idea of the reason?
License
Would you mind adding something like MIT to this repo? I’d like to fork it and make it work with GL container registry (okay, TBH, I already did, but I’d like to open-source it too), but technically, without license, it’s protected by copyright.
Gradle build daemon disappeared unexpectedly (it may have been killed or may have crashed)
Downloading https://services.gradle.org/distributions/gradle-4.1-all.zip
.
Unzipping /builds/Ham/android_ci_test_2/.gradle/wrapper/dists/gradle-4.1-all/bzyivzo6n839fup2jbap0tjew/gradle-4.1-all.zip to /builds/Ham/android_ci_test_2/.gradle/wrapper/dists/gradle-4.1-all/bzyivzo6n839fup2jbap0tjew
Set executable permissions for: /builds/Ham/android_ci_test_2/.gradle/wrapper/dists/gradle-4.1-all/bzyivzo6n839fup2jbap0tjew/gradle-4.1/bin/gradle
Starting a Gradle Daemon (subsequent builds will be faster)
The message received from the daemon indicates that the daemon has disappeared.
Build request sent: Build
Attempting to read last messages from the daemon log.
Daemon pid: 34
log file: /builds/Ham/android_ci_test_2/.gradle/daemon/4.1/daemon-34.out.log
—— Last 20 lines from daemon log file — daemon-34.out.log ——
08:42:51.205 [DEBUG] [org.gradle.internal.remote.internal.inet.TcpIncomingConnector] Accepted connection from /127.0.0.1:35556 to /127.0.0.1:33575.
08:42:51.269 [DEBUG] [org.gradle.launcher.daemon.server.Daemon] awaitExpiration() called on daemon
08:42:51.270 [DEBUG] [org.gradle.launcher.daemon.server.DaemonStateCoordinator] daemon is running. Sleeping until state changes.
08:42:51.630 [DEBUG] [org.gradle.launcher.daemon.server.SynchronizedDispatchConnection] thread 13: received class org.gradle.launcher.daemon.protocol.Build
08:42:51.630 [DEBUG] [org.gradle.launcher.daemon.server.DefaultDaemonConnection] thread 13: Received non-IO message from client: Build
08:42:51.630 [INFO] [org.gradle.launcher.daemon.server.DefaultIncomingConnectionHandler] Received command: Build.
08:42:51.631 [DEBUG] [org.gradle.launcher.daemon.server.DefaultIncomingConnectionHandler] Starting executing command: Buildwith connection: socket connection from /127.0.0.1:33575 to /127.0.0.1:35556.
08:42:51.639 [ERROR] [org.gradle.launcher.daemon.server.DaemonStateCoordinator] Command execution: started DaemonCommandExecution[command = Build, connection = DefaultDaemonConnection: socket connection from /127.0.0.1:33575 to /127.0.0.1:35556] after 0.0 minutes of idle
08:42:51.639 [INFO] [org.gradle.launcher.daemon.server.DaemonRegistryUpdater] Marking the daemon as busy, address: [dffbca5f-cabf-463a-bf5a-20cf325d0499 port:33575, addresses:[/127.0.0.1]]
08:42:51.639 [DEBUG] [org.gradle.launcher.daemon.registry.PersistentDaemonRegistry] Marking busy by address: [dffbca5f-cabf-463a-bf5a-20cf325d0499 port:33575, addresses:[/127.0.0.1]]
08:42:51.640 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire exclusive lock on daemon addresses registry.
08:42:51.652 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
08:42:51.653 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
08:42:51.653 [DEBUG] [org.gradle.launcher.daemon.server.DaemonStateCoordinator] resetting idle timer
08:42:51.654 [DEBUG] [org.gradle.launcher.daemon.server.DaemonStateCoordinator] daemon is running. Sleeping until state changes.
08:42:51.654 [INFO] [org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy] Daemon is about to start building Build. Dispatching build started information.
08:42:51.655 [DEBUG] [org.gradle.launcher.daemon.server.SynchronizedDispatchConnection] thread 15: dispatching class org.gradle.launcher.daemon.protocol.BuildStarted
08:42:51.699 [DEBUG] [org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment] Configuring env variables:
08:42:51.733 [DEBUG] [org.gradle.launcher.daemon.server.SynchronizedDispatchConnection] thread 13: received class org.gradle.launcher.daemon.protocol.CloseInput
08:42:51.733 [DEBUG] [org.gradle.launcher.daemon.server.DefaultDaemonConnection] thread 13: Received IO message from client: org.gradle.launcher.daemon.protocol.CloseInput@2a55902a
—— End of the daemon log ——
FAILURE: Build failed with an exception.
What went wrong:
Gradle build daemon disappeared unexpectedly (it may have been killed or may have crashed)
Try:
Run with —stacktrace option to get the stack trace. Run with —info or —debug option to get more log output.
pull docker fail
I always get the error that it is «Using Docker executor with image jangrewe/gitlab-ci-android .
ERROR: Preparation failed: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?»。
Pass txt file to sdkmanager
Can we use the —package_file argument (https://developer.android.com/studio/command-line/sdkmanager#install_packages) to point to packages.txt? That’ll eliminate manual text processing to install the packages.
Firebase Library Error
What if I add firebase library?
[Suggestion] Gradle and NDK tool
There is no gradle and NDK tool in dockfile now.
About NDK some apps may needs.
And for gradle, as i know, even if we don;t install , gradlew would auto install .But it meas every time runs would cause gradle download ,it takes more time to finish 1 build
Build failed using .gitlab-ci.yml example from ReadMe
I’m a newbie to this kind of build systems, and I’m trying since few days, but none of the example worked,
And here is my build.gradle form main module of the project:
Am I missing anything? Or I got the concept in wrong way?
Thanks in advance for the help.
Replace Ubuntu with Alpine
I do not have enough knowledge of docker (yet).
But I saw in a other repo that Alpine was used, instead of ubuntu.
min-alpine-android-sdk
This reduces the size of the container.
Is it possible to replace:
FROM ubuntu:17.04
with
FROM frolvlad/alpine-oraclejdk8:full
Add NDK version
ndk support?
ndk support? If possible can u add ndk support?
Could not find com.android.tools.build:gradle:3.0.0
I got this issue since I switched to Android 3.0, do you have any idea ? Are you also running it using this config ?
Could not find ANDROID_SDK_ROOT
There is an error in runner console:
I tried to download command line tool and set sdk path manually
but it didn’t work also
NoClassDefFoundError
Hi, I am using your image for the CI of my application and recently, namely after the «Android API 30» commit. my application stopped building because it uses jdk1.8
this is what the compiler told me
e: java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
at java.base/java.lang.Class.getDeclaredConstructors0(Native Method)
at java.base/java.lang.Class.privateGetDeclaredConstructors(Class.java:3137)
at java.base/java.lang.Class.getConstructor0(Class.java:3342)
at java.base/java.lang.Class.newInstance(Class.java:556)
at org.jetbrains.kotlin.cli.jvm.plugins.ServiceLoaderLite.loadImplementations(ServiceLoaderLite.kt:51)
at org.jetbrains.kotlin.cli.jvm.plugins.ServiceLoaderLite.loadImplementations(ServiceLoaderLite.kt:44)
at org.jetbrains.kotlin.kapt3.ClasspathBasedKapt3Extension$loadProcessors$efficientProcessorLoader$1.doLoadProcessors(Kapt3Extension.kt:83)
at org.jetbrains.kotlin.kapt3.base.ProcessorLoader.loadProcessors(ProcessorLoader.kt:45)
at org.jetbrains.kotlin.kapt3.base.ProcessorLoader.loadProcessors$default(ProcessorLoader.kt:28)
at org.jetbrains.kotlin.kapt3.ClasspathBasedKapt3Extension.loadProcessors(Kapt3Extension.kt:88)
at org.jetbrains.kotlin.kapt3.AbstractKapt3Extension.analysisCompleted(Kapt3Extension.kt:171)
at org.jetbrains.kotlin.kapt3.ClasspathBasedKapt3Extension.analysisCompleted(Kapt3Extension.kt:98)
at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM$analyzeFilesWithJavaIntegration$2.invoke(TopDownAnalyzerFacadeForJVM.kt:97)
at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(TopDownAnalyzerFacadeForJVM.kt:107)
at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration$default(TopDownAnalyzerFacadeForJVM.kt:82)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.invoke(KotlinToJVMBytecodeCompiler.kt:557)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.invoke(KotlinToJVMBytecodeCompiler.kt:82)
at org.jetbrains.kotlin.cli.common.messages.AnalyzerWithCompilerReport.analyzeAndReport(AnalyzerWithCompilerReport.kt:107)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.analyze(KotlinToJVMBytecodeCompiler.kt:548)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli(KotlinToJVMBytecodeCompiler.kt:177)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:165)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:55)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:84)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:42)
at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:104)
at org.jetbrains.kotlin.daemon.CompileServiceImpl.compile(CompileServiceImpl.kt:1558)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:359)
at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200)
at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196)
at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:562)
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:796)
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:677)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:676)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBException
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:471)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
. 43 more
Allow override of SDK version
Please allow override of SDK / Build Tools version.
I tried to override variables with this .gitlab-ci.yml file:
. but appareantly it didn’t work.
Does sombody have an suggestion how to resolve this?
If the issue can be resolved, some kind of documentation should be there.
Here is for example a travis CI build file (as a reference):
Источник