mobiledevops / android-sdk-image Goto Github PK
View Code? Open in Web Editor NEWDocker image for Android SDK builds
Home Page: https://hub.docker.com/r/mobiledevops/android-sdk-image
License: MIT License
Docker image for Android SDK builds
Home Page: https://hub.docker.com/r/mobiledevops/android-sdk-image
License: MIT License
Short summary ...
It seems the image should also support APK building on Google Cloud Build platform. Are you going to include it also in the instructions?
There is no guide included on how to set up '/cloudbuild.yaml' for this although it seems it should fit. I am currently trying to set it up.
Google Cloud Build
When running apkanalyzer
it won't run and throws an exception.
Exception in thread "main" java.lang.IllegalStateException: The tools directory property is not set, please make sure you are executing apkanalyzer. Got /opt/android-sdk-linux/cmdline-tools
at com.android.tools.apk.analyzer.ApkAnalyzerCli.getAaptInvokerFromSdk(ApkAnalyzerCli.java:271)
at com.android.tools.apk.analyzer.ApkAnalyzerCli.main(ApkAnalyzerCli.java:128)
When running apkanalyzer
it should show the help text of apk analyzer
It throws an exception.
/opt/android-sdk-linux/cmdline-tools/bin/apkanalyzer
)Docker for mac desktop 24.0.6
Is it somehow possible to install other packages with apt-get? I have seen that sudo is not installed and the default user has no root rights
Hello, i tried to build my app with this image with no success.
i got this error message.
I run my job with gitlab-runner in my machine.
Can you please help me out with this?
assembleRelease:
image: mobiledevops/android-sdk-image:30.0.3
stage: build
before_script:
# Writing GE_JOB_ID variable to environment file, will need the value in the next stage.
- echo GE_JOB_ID=$CI_JOB_ID >> generate_executables.env
script:
- mkdir bin
- ./gradlew clean assembleRelease
- cp app/build/outputs/apk/release/app-release.apk bin/${APK_BINARY}
- export JOB_ID=$CI_JOB_ID
artifacts:
paths:
- bin/
reports:
dotenv: generate_executables.env
// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
id 'com.android.application' version '8.1.1' apply false
id 'com.android.library' version '8.1.1' apply false
id 'org.jetbrains.kotlin.android' version '1.8.22' apply false
}
tasks.register('clean', Delete) {
delete rootProject.buildDir
}
plugins {
id 'com.android.application'
id 'org.jetbrains.kotlin.android'
id 'kotlin-kapt'
}
android {
namespace 'app.x.sklad'
compileSdk 34
defaultConfig {
applicationId "app.x.sklad"
minSdk 33
targetSdk 33
versionCode 3
versionName "1.0.4"
...
}
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile(
'proguard-android-optimize.txt'),
'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = '17'
}
buildFeatures {
compose true
dataBinding true
}
composeOptions {
kotlinCompilerExtensionVersion '1.4.8'
}
}
dependencies {
implementation "androidx.compose.runtime:runtime:1.5.1"
implementation 'androidx.core:core-ktx:1.12.0'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'com.google.android.material:material:1.9.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
implementation "androidx.camera:camera-camera2:1.2.3"
implementation 'androidx.camera:camera-mlkit-vision:1.3.0-beta02'
implementation 'com.google.mlkit:barcode-scanning:17.2.0'
}
Starting a Gradle Daemon (subsequent builds will be faster)
FAILURE: Build failed with an exception.
Could not resolve all files for configuration ':classpath'.
Could not resolve com.android.tools.build:gradle:8.1.1.
Required by:
project : > com.android.application:com.android.application.gradle.plugin:8.1.1
project : > com.android.library:com.android.library.gradle.plugin:8.1.1
> No matching variant of com.android.tools.build:gradle:8.1.1 was found. The consumer was configured to find a library for use during runtime, compatible with Java 8, packaged as a jar, and its dependencies declared externally, as well as attribute 'org.gradle.plugin.api-version' with value '8.3' but:
- Variant 'apiElements' capability com.android.tools.build:gradle:8.1.1 declares a library, packaged as a jar, and its dependencies declared externally:
- Incompatible because this component declares a component for use during compile-time, compatible with Java 11 and the consumer needed a component for use during runtime, compatible with Java 8
- Other compatible attribute:
- Doesn't say anything about org.gradle.plugin.api-version (required '8.3')
- Variant 'javadocElements' capability com.android.tools.build:gradle:8.1.1 declares a component for use during runtime, and its dependencies declared externally:
- Incompatible because this component declares documentation and the consumer needed a library
- Other compatible attributes:
- Doesn't say anything about its target Java version (required compatibility with Java 8)
- Doesn't say anything about its elements (required them packaged as a jar)
- Doesn't say anything about org.gradle.plugin.api-version (required '8.3')
- Variant 'runtimeElements' capability com.android.tools.build:gradle:8.1.1 declares a library for use during runtime, packaged as a jar, and its dependencies declared externally:
- Incompatible because this component declares a component, compatible with Java 11 and the consumer needed a component, compatible with Java 8
- Other compatible attribute:
- Doesn't say anything about org.gradle.plugin.api-version (required '8.3')
- Variant 'sourcesElements' capability com.android.tools.build:gradle:8.1.1 declares a component for use during runtime, and its dependencies declared externally:
- Incompatible because this component declares documentation and the consumer needed a library
- Other compatible attributes:
- Doesn't say anything about its target Java version (required compatibility with Java 8)
- Doesn't say anything about its elements (required them packaged as a jar)
- Doesn't say anything about org.gradle.plugin.api-version (required '8.3')
...
24.0.5
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.