From b7a1aee5df0347b02c6a7c759b45884e74398c83 Mon Sep 17 00:00:00 2001 From: saschawillems Date: Thu, 10 May 2018 18:42:03 +0200 Subject: [PATCH] Updated android readme (using Android Studio) --- android/README.md | 83 ++++++++---------------------------- android/androidstudio01.jpg | Bin 0 -> 27897 bytes android/androidstudio02.jpg | Bin 0 -> 39919 bytes 3 files changed, 17 insertions(+), 66 deletions(-) create mode 100644 android/androidstudio01.jpg create mode 100644 android/androidstudio02.jpg diff --git a/android/README.md b/android/README.md index 7463ec2b..1142f93f 100644 --- a/android/README.md +++ b/android/README.md @@ -2,87 +2,38 @@ ## Vulkan on Android -Since Vulkan is not yet part of the Android OS (like OpenGL ES) the library and function pointers need to be dynamically loaded before using any of the Vulkan functions. See the **vulkanandroid.h** and **vulkanandroid.cpp** files in the base folder of the repositoy root for how this is done. - ## Device support - **To run these examples you need a device with an Android image that suports Vulkan** -- Builds currently only support arm-v7, x86 may follow at a later point -- Android TV leanback launcher is supported, so the examples will show up on the launcher +- Builds currently only support arm-v7, other architectures may be added later - Basic gamepad support is available too (zoom and rotate) - Basic touch control support (zoom, move, rotate, look) ## Building ### Requirements -- [Android NDK r11b](http://developer.android.com/ndk/downloads/index.html) (or newer) - Somewhere in your search path -- Examples are built against API level 23 (requires the SDK Platform installed) -- Python 3.x + +- [Android Studio](https://developer.android.com/studio/) +- [Android NDK](https://developer.android.com/ndk/downloads/) (r11b or higher) +- [Android SDK](https://developer.android.com/studio/index.html) + +### Update the asset pack + +During the Android build process, assets are copied over from the data folder, so it's important to make sure that a current version of the [asset pack](../data/README.md) has been downloaded and extracted. ### Building the Examples -### Grab Externals +Select **Import project** from the welcome screen (or from inside Android via **File->New**): -Make sure all submodules have been cloned using the [steps from main README](../README.md#cloning). + -### Complete set +Navigate to the **android** subfolder of this repository (should be higlighted with a gadle symbol): -**Please note that building (and deploying) all examples may take a while** + -#### Build only +Select OK to start the import. -``` -build-all.py -``` +**Note:** Initial import will take a while due to the number of examples. -This will build all apks and puts them into the **bin** folder. +Once the import is done, the samples can be build, debugged and run from inside Android Studio just like any other Android project. -#### Build and deploy - -``` -build-all.py -deploy -``` - -This will build all apks and deploys them to the currently attached android device. - -### Single examples - -These are for building and/or deploying a single example. - -#### Build only - -Call build(.bat) with the name of the example to build, e.g. : - -``` -build.py pbrtexture -``` - -This will build the apk for the triangle example and puts it into the **bin** folder. - -#### Build and deploy - -``` -build.py pbrtexture -deploy -``` - -This will build the apk for the triangle example and deploys it to the currently attached android device. - -#### Validation layers - -``` -build.py pbrtexture -validation (-deploy) -``` - -Builds the apk, adds the validation layer libraries and enables validation via a compiler define. - -**Note**: You need to manually build the validation layers and put them in the [proper folder](layers/). If the libaries are not present they won't be included with the apk and running the app will fail. - -## Removing - -A single file for removing all installed examples is provided in case you installed all of them and don't want to remove them by hand (which is especially tedious on Android TV). - - -``` -uninstall-all.py -``` - -This will remove any installed Android example from this repository from the attached device. +**Note:** If you update the repository at a later point you may have to resync to have additional examples added to the Android Studio project (**File->Sync Project with Gradle files**). diff --git a/android/androidstudio01.jpg b/android/androidstudio01.jpg new file mode 100644 index 0000000000000000000000000000000000000000..85ab4b84629f00455fb56e7210446d3e1a6d412e GIT binary patch literal 27897 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 literal 0 HcmV?d00001 diff --git a/android/androidstudio02.jpg b/android/androidstudio02.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fe0b4e804b61575aaa249afb239f92d8b11d22dc GIT binary patch literal 39919 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ʭjr?;d5_q-p+ebl%S> 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