From 8048cd69fdc16ae742a8ed1f7e3620955243dff7 Mon Sep 17 00:00:00 2001 From: saschawillems Date: Tue, 14 Mar 2017 20:50:37 +0100 Subject: [PATCH] Android build files and manifests [skip ci] --- android/occlusionquery/AndroidManifest.xml | 1 + android/occlusionquery/build.bat | 26 ----------- android/occlusionquery/build.py | 48 ++++++++++++++++++++ android/offscreen/AndroidManifest.xml | 1 + android/offscreen/build.bat | 28 ------------ android/offscreen/build.py | 53 ++++++++++++++++++++++ android/pbrbasic/AndroidManifest.xml | 1 + android/pbribl/AndroidManifest.xml | 1 + android/raytracing/AndroidManifest.xml | 1 + android/raytracing/build.bat | 21 --------- android/raytracing/build.py | 51 +++++++++++++++++++++ android/scenerendering/AndroidManifest.xml | 1 + android/shadowmapping/AndroidManifest.xml | 1 + android/ssao/AndroidManifest.xml | 1 + android/vulkanscene/AndroidManifest.xml | 1 + 15 files changed, 161 insertions(+), 75 deletions(-) delete mode 100644 android/occlusionquery/build.bat create mode 100644 android/occlusionquery/build.py delete mode 100644 android/offscreen/build.bat create mode 100644 android/offscreen/build.py delete mode 100644 android/raytracing/build.bat create mode 100644 android/raytracing/build.py diff --git a/android/occlusionquery/AndroidManifest.xml b/android/occlusionquery/AndroidManifest.xml index 8541bf9d..cde9428a 100644 --- a/android/occlusionquery/AndroidManifest.xml +++ b/android/occlusionquery/AndroidManifest.xml @@ -15,6 +15,7 @@ android:label="Occlusion query" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:launchMode="singleTask" + android:screenOrientation="landscape" android:configChanges="orientation|screenSize|keyboardHidden"> diff --git a/android/occlusionquery/build.bat b/android/occlusionquery/build.bat deleted file mode 100644 index 6d991c44..00000000 --- a/android/occlusionquery/build.bat +++ /dev/null @@ -1,26 +0,0 @@ -cd jni -call ndk-build -if %ERRORLEVEL% EQU 0 ( - echo ndk-build has failed, build cancelled - cd.. - - mkdir "assets\shaders\base" - xcopy "..\..\data\shaders\base\*.spv" "assets\shaders\base" /Y - - - mkdir "assets\shaders\occlusionquery" - xcopy "..\..\data\shaders\occlusionquery\*.spv" "assets\shaders\occlusionquery" /Y - - mkdir "assets\models" - xcopy "..\..\data\models\plane_z.3ds" "assets\models" /Y - xcopy "..\..\data\models\teapot.3ds" "assets\models" /Y - xcopy "..\..\data\models\sphere.3ds" "assets\models" /Y - - mkdir "res\drawable" - xcopy "..\..\android\images\icon.png" "res\drawable" /Y - - call ant debug -Dout.final.file=vulkanOcclusionquery.apk -) ELSE ( - echo error : ndk-build failed with errors! - cd.. -) diff --git a/android/occlusionquery/build.py b/android/occlusionquery/build.py new file mode 100644 index 00000000..2f6ab4d6 --- /dev/null +++ b/android/occlusionquery/build.py @@ -0,0 +1,48 @@ +import os +import shutil +import subprocess +import sys +import glob + +sys.path.append('../base/') + +import base + +APK_NAME = "vulkanOcclusionquery" +APP_TITLE = "Occlusion queries" +SHADER_DIR = "occlusionquery" +ASSETS_MODELS = ["plane_z.3ds", "teapot.3ds", "sphere.3ds"] + +if subprocess.call("ndk-build", shell=True) == 0: + print("Build successful") + + # Assets + os.makedirs("./assets/shaders", exist_ok=True) + os.makedirs("./assets/shaders/base", exist_ok=True) + os.makedirs("./assets/shaders/%s" % SHADER_DIR, exist_ok=True) + os.makedirs("./assets/models", exist_ok=True) + os.makedirs("./res/drawable", exist_ok=True) + + # Shaders + # Base + for file in glob.glob("../../data/shaders/base/*.spv"): + shutil.copy(file, "./assets/shaders/base") + # Sample + for file in glob.glob("../../data/shaders/%s/*.spv" %SHADER_DIR): + shutil.copy(file, "./assets/shaders/%s" % SHADER_DIR) + # Models + for file in ASSETS_MODELS: + shutil.copy("../../data/models/%s" % file, "./assets/models") + + # Icon + shutil.copy("../../android/images/icon.png", "./res/drawable") + + if subprocess.call("ant debug -Dout.final.file=%s.apk" % APK_NAME, shell=True) == 0: + if len(sys.argv) > 1: + if sys.argv[1] == "-deploy": + if subprocess.call("adb install -r %s.apk" % APK_NAME, shell=True) != 0: + print("Could not deploy to device!") + else: + print("Error during build process!") +else: + print("Error building project!") \ No newline at end of file diff --git a/android/offscreen/AndroidManifest.xml b/android/offscreen/AndroidManifest.xml index a3a83002..2e20569f 100644 --- a/android/offscreen/AndroidManifest.xml +++ b/android/offscreen/AndroidManifest.xml @@ -15,6 +15,7 @@ android:label="Offscreen" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:launchMode="singleTask" + android:screenOrientation="landscape" android:configChanges="orientation|screenSize|keyboardHidden"> diff --git a/android/offscreen/build.bat b/android/offscreen/build.bat deleted file mode 100644 index bb748821..00000000 --- a/android/offscreen/build.bat +++ /dev/null @@ -1,28 +0,0 @@ -cd jni -call ndk-build -if %ERRORLEVEL% EQU 0 ( - echo ndk-build has failed, build cancelled - cd.. - - mkdir "assets\shaders\base" - xcopy "..\..\data\shaders\base\*.spv" "assets\shaders\base" /Y - - - mkdir "assets\shaders\offscreen" - xcopy "..\..\data\shaders\offscreen\*.spv" "assets\shaders\offscreen" /Y - - mkdir "assets\textures" - xcopy "..\..\data\textures\darkmetal_bc3.ktx" "assets\textures" /Y - - mkdir "assets\models" - xcopy "..\..\data\models\plane.obj" "assets\models" /Y - xcopy "..\..\data\models\chinesedragon.dae" "assets\models" /Y - - mkdir "res\drawable" - xcopy "..\..\android\images\icon.png" "res\drawable" /Y - - call ant debug -Dout.final.file=vulkanOffscreen.apk -) ELSE ( - echo error : ndk-build failed with errors! - cd.. -) \ No newline at end of file diff --git a/android/offscreen/build.py b/android/offscreen/build.py new file mode 100644 index 00000000..759008b6 --- /dev/null +++ b/android/offscreen/build.py @@ -0,0 +1,53 @@ +import os +import shutil +import subprocess +import sys +import glob + +APK_NAME = "vulkanOffscreen" +SHADER_DIR = "offscreen" +ASSETS_MODELS = ["plane.obj", "chinesedragon.dae"] +ASSETS_TEXTURES = ["darkmetal_bc3_unorm.ktx", "stonefloor01_color_bc3_unorm.ktx", "darkmetal_astc_8x8_unorm.ktx", "darkmetal_etc2_unorm.ktx"] + +if subprocess.call("ndk-build", shell=True) == 0: + print("Build successful") + + # Assets + if not os.path.exists("./assets"): + os.makedirs("./assets") + + # Shaders + # Base + if not os.path.exists("./assets/shaders/base"): + os.makedirs("./assets/shaders/base") + for file in glob.glob("../../data/shaders/base/*.spv"): + shutil.copy(file, "./assets/shaders/base") + # Sample + if not os.path.exists("./assets/shaders/%s" % SHADER_DIR): + os.makedirs("./assets/shaders/%s" % SHADER_DIR) + for file in glob.glob("../../data/shaders/%s/*.spv" %SHADER_DIR): + shutil.copy(file, "./assets/shaders/%s" % SHADER_DIR) + # Textures and models + if not os.path.exists("./assets/textures"): + os.makedirs("./assets/textures") + for file in ASSETS_TEXTURES: + shutil.copy("../../data/textures/%s" % file, "./assets/textures") + if not os.path.exists("./assets/models"): + os.makedirs("./assets/models") + for file in ASSETS_MODELS: + shutil.copy("../../data/models/%s" % file, "./assets/models") + + # Icon + if not os.path.exists("./res/drawable"): + os.makedirs("./res/drawable") + shutil.copy("../../android/images/icon.png", "./res/drawable") + + if subprocess.call("ant debug -Dout.final.file=%s.apk" % APK_NAME, shell=True) == 0: + if len(sys.argv) > 1: + if sys.argv[1] == "-deploy": + if subprocess.call("adb install -r %s.apk" % APK_NAME, shell=True) != 0: + print("Could not deploy to device!") + else: + print("Error during build process!") +else: + print("Error building project!") diff --git a/android/pbrbasic/AndroidManifest.xml b/android/pbrbasic/AndroidManifest.xml index cf06f372..537ac5a9 100644 --- a/android/pbrbasic/AndroidManifest.xml +++ b/android/pbrbasic/AndroidManifest.xml @@ -15,6 +15,7 @@ android:label="Physical based rendering" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:launchMode="singleTask" + android:screenOrientation="landscape" android:configChanges="orientation|screenSize|keyboardHidden"> diff --git a/android/pbribl/AndroidManifest.xml b/android/pbribl/AndroidManifest.xml index 2898946c..75fc78c1 100644 --- a/android/pbribl/AndroidManifest.xml +++ b/android/pbribl/AndroidManifest.xml @@ -15,6 +15,7 @@ android:label="PBR Image based lighting" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:launchMode="singleTask" + android:screenOrientation="landscape" android:configChanges="orientation|screenSize|keyboardHidden"> diff --git a/android/raytracing/AndroidManifest.xml b/android/raytracing/AndroidManifest.xml index beb3615a..9af99ae2 100644 --- a/android/raytracing/AndroidManifest.xml +++ b/android/raytracing/AndroidManifest.xml @@ -15,6 +15,7 @@ android:label="Raytracing" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:launchMode="singleTask" + android:screenOrientation="landscape" android:configChanges="orientation|screenSize|keyboardHidden"> diff --git a/android/raytracing/build.bat b/android/raytracing/build.bat deleted file mode 100644 index 10023b77..00000000 --- a/android/raytracing/build.bat +++ /dev/null @@ -1,21 +0,0 @@ -cd jni -call ndk-build -if %ERRORLEVEL% EQU 0 ( - echo ndk-build has failed, build cancelled - cd.. - - mkdir "assets\shaders\base" - xcopy "..\..\data\shaders\base\*.spv" "assets\shaders\base" /Y - - - mkdir "assets\shaders\raytracing" - xcopy "..\..\data\shaders\raytracing\*.spv" "assets\shaders\raytracing" /Y - - mkdir "res\drawable" - xcopy "..\..\android\images\icon.png" "res\drawable" /Y - - call ant debug -Dout.final.file=vulkanRaytracing.apk -) ELSE ( - echo error : ndk-build failed with errors! - cd.. -) diff --git a/android/raytracing/build.py b/android/raytracing/build.py new file mode 100644 index 00000000..d61726cd --- /dev/null +++ b/android/raytracing/build.py @@ -0,0 +1,51 @@ +import os +import shutil +import subprocess +import sys +import glob + +APK_NAME = "vulkanRaytracing" +SHADER_DIR = "raytracing" + +if subprocess.call("ndk-build", shell=True) == 0: + print("Build successful") + + # Copy validation layers + if len(sys.argv) > 1: + if sys.argv[1] == "-validation": + print("copying validation layers") + for file in glob.glob("../layers/armeabi-v7a/*.so"): + print(file) + shutil.copy(file, "./libs/armeabi-v7a") + + # Assets + os.makedirs("./assets/shaders/base", exist_ok=True) + os.makedirs("./assets/shaders/%s" % SHADER_DIR, exist_ok=True) + os.makedirs("./res/drawable", exist_ok=True) + + # Shaders + # Base + if not os.path.exists("./assets/shaders/base"): + os.makedirs("./assets/shaders/base") + for file in glob.glob("../../data/shaders/base/*.spv"): + shutil.copy(file, "./assets/shaders/base") + # Sample + if not os.path.exists("./assets/shaders/%s" % SHADER_DIR): + os.makedirs("./assets/shaders/%s" % SHADER_DIR) + for file in glob.glob("../../data/shaders/%s/*.spv" %SHADER_DIR): + shutil.copy(file, "./assets/shaders/%s" % SHADER_DIR) + + # Icon + if not os.path.exists("./res/drawable"): + os.makedirs("./res/drawable") + shutil.copy("../../android/images/icon.png", "./res/drawable") + + if subprocess.call("ant debug -Dout.final.file=%s.apk" % APK_NAME, shell=True) == 0: + if len(sys.argv) > 1: + if sys.argv[1] == "-deploy": + if subprocess.call("adb install -r %s.apk" % APK_NAME, shell=True) != 0: + print("Could not deploy to device!") + else: + print("Error during build process!") +else: + print("Error building project!") diff --git a/android/scenerendering/AndroidManifest.xml b/android/scenerendering/AndroidManifest.xml index 505e3d6a..5c4c9c14 100644 --- a/android/scenerendering/AndroidManifest.xml +++ b/android/scenerendering/AndroidManifest.xml @@ -15,6 +15,7 @@ android:label="Scene rendering" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:launchMode="singleTask" + android:screenOrientation="landscape" android:configChanges="orientation|screenSize|keyboardHidden"> diff --git a/android/shadowmapping/AndroidManifest.xml b/android/shadowmapping/AndroidManifest.xml index b124b11b..2c5fc242 100644 --- a/android/shadowmapping/AndroidManifest.xml +++ b/android/shadowmapping/AndroidManifest.xml @@ -15,6 +15,7 @@ android:label="Shadow mapping" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:launchMode="singleTask" + android:screenOrientation="landscape" android:configChanges="orientation|screenSize|keyboardHidden"> diff --git a/android/ssao/AndroidManifest.xml b/android/ssao/AndroidManifest.xml index b4b8b704..049ef2e9 100644 --- a/android/ssao/AndroidManifest.xml +++ b/android/ssao/AndroidManifest.xml @@ -15,6 +15,7 @@ android:label="SSAO" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:launchMode="singleTask" + android:screenOrientation="landscape" android:configChanges="orientation|screenSize|keyboardHidden"> diff --git a/android/vulkanscene/AndroidManifest.xml b/android/vulkanscene/AndroidManifest.xml index ef74dfef..ef5a4431 100644 --- a/android/vulkanscene/AndroidManifest.xml +++ b/android/vulkanscene/AndroidManifest.xml @@ -15,6 +15,7 @@ android:label="Demo Scene" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:launchMode="singleTask" + android:screenOrientation="landscape" android:configChanges="orientation|screenSize|keyboardHidden">