Merge pull request #1038 from robotchaoX/master

Building for Android Improvement
This commit is contained in:
Sascha Willems 2023-06-15 21:13:24 +02:00 committed by GitHub
commit 3bcf0ec809
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
77 changed files with 99 additions and 78 deletions

View file

@ -23,16 +23,22 @@ Use the provided CMakeLists.txt with [CMake](https://cmake.org) to generate a bu
Building on Android is done using the [Gradle Build Tool](https://gradle.org/):
If you want to build it through command line, set Android SDK/NDK by environment variable `ANDROID_SDK_ROOT`/`ANDROID_NDK_HOME`.
On Linux execute:
```
cd android
./gradlew assembleDebug
```
This will download gradle locally, build all samples and output the apks to ```android\examples\bin```.
This will download gradle locally, build all samples and output the apks to ```android/examples/bin```.
On Windows execute `gradlew.bat assembleDebug`.
On Windows execute ```gradlew.bat assembleDebug```.
If you want to build and install on a connected device or emulator image, run ```gradle installDebug``` instead.
If you want to build it through [Android Studio](https://developer.android.com/studio), open project folder ```android``` in Android Studio.
## <img src="./images/applelogo.png" alt="" height="32px"> [iOS and macOS](xcode/)
Building for *iOS* and *macOS* is done using the [examples](xcode/examples.xcodeproj) *Xcode* project found in the [xcode](xcode) directory. These examples use the [**MoltenVK**](https://moltengl.com/moltenvk) Vulkan driver to provide Vulkan support on *iOS* and *macOS*, and require an *iOS* or *macOS* device that supports *Metal*. Please see the [MoltenVK Examples readme](xcode/README_MoltenVK_Examples.md) for more info on acquiring **MoltenVK** and building and deploying the examples on *iOS* and *macOS*.

View file

@ -9,7 +9,7 @@
buildscript {
repositories {
google()
jcenter()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.0.0'
@ -21,11 +21,12 @@ buildscript {
allprojects {
repositories {
google()
jcenter()
mavenCentral()
}
}
ext {
abiFilters = "arm64-v8a"
minSdkVersion = 19
targetSdkVersion = 26
compileSdkVersion = 26

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

View file

@ -10,7 +10,7 @@ android {
versionCode 1
versionName "1.0"
ndk {
abiFilters "arm64-v8a"
abiFilters rootProject.ext.abiFilters
}
externalNativeBuild {
cmake {

14
android/gradle.properties Normal file
View file

@ -0,0 +1,14 @@
## For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
#
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx1024m -XX:MaxPermSize=256m
# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
#
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true
#Sun May 28 17:34:07 CST 2023
org.gradle.jvmargs=-Xmx4096M