From 5b8c8e30a4b5c4788fa564b6d5d89f87a6ec6626 Mon Sep 17 00:00:00 2001 From: Jake Turner Date: Tue, 10 Oct 2023 15:34:11 +0100 Subject: [PATCH] Changes to Android demos to support RenderDoc capture Change package name to "renderdoc.org.demos" instead of "org.renderdoc.demos" (RenderDoc filters out packages containing "org.renderdoc.") Added an to the Android manifest. This registers the activity with the android package system which means RenderDoc Launch Application knows the activity name to launch. Used category CATEGORY_ALTERNATIVE to prevent the activity from appearing on the launcher UI. --- util/test/demos/CMakeLists.txt | 8 ++++---- util/test/demos/android/AndroidManifest.xml | 4 ++++ 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/util/test/demos/CMakeLists.txt b/util/test/demos/CMakeLists.txt index 1b4f24fa2..647e21280 100644 --- a/util/test/demos/CMakeLists.txt +++ b/util/test/demos/CMakeLists.txt @@ -403,14 +403,14 @@ if(ANDROID) message(FATAL_ERROR "ABI ${ANDROID_ABI} is not supported.") endif() - set(RENDERDOC_ANDROID_PACKAGE_NAME "org.renderdoc.demos.${ABI_EXTENSION_NAME}") + set(RENDERDOC_ANDROID_PACKAGE_NAME "renderdoc.org.demos.${ABI_EXTENSION_NAME}") set(APK_FILE ${CMAKE_BINARY_DIR}/bin/${RENDERDOC_ANDROID_PACKAGE_NAME}.apk) add_custom_target(apk ALL DEPENDS ${APK_FILE}) # Copy in android package files, replacing the package name with the architecture-specific package name - configure_file(android/Loader.java ${CMAKE_CURRENT_BINARY_DIR}/src/org/renderdoc/demos/Loader.java) + configure_file(android/Loader.java ${CMAKE_CURRENT_BINARY_DIR}/src/renderdoc/org/demos/Loader.java) configure_file(android/AndroidManifest.xml ${CMAKE_CURRENT_BINARY_DIR}/AndroidManifest.xml) configure_file(android/icon.png ${CMAKE_CURRENT_BINARY_DIR}/res/drawable/icon.png COPYONLY) @@ -428,12 +428,12 @@ if(ANDROID) if(NOT EXISTS ${D8_SCRIPT}) set(DEX_COMMAND ${BUILD_TOOLS}/dx${TOOL_SCRIPT_EXTENSION} --dex --output=bin/classes.dex ./obj) else() - set(DEX_COMMAND ${D8_SCRIPT} --output ./bin/ ./obj/org/renderdoc/demos/${ABI_EXTENSION_NAME}/*.class) + set(DEX_COMMAND ${D8_SCRIPT} --output ./bin/ ./obj/renderdoc/org/demos/${ABI_EXTENSION_NAME}/*.class) endif() add_custom_command(OUTPUT ${APK_FILE} APPEND COMMAND ${BUILD_TOOLS}/aapt package -f -m -S res -J src -M AndroidManifest.xml -I ${ANDROID_JAR} - COMMAND ${JAVA_BIN}/javac -d ./obj -source 1.7 -target 1.7 -bootclasspath ${RT_JAR} -classpath "${CLASS_PATH}" -sourcepath src src/org/renderdoc/demos/*.java + COMMAND ${JAVA_BIN}/javac -d ./obj -source 1.7 -target 1.7 -bootclasspath ${RT_JAR} -classpath "${CLASS_PATH}" -sourcepath src src/renderdoc/org/demos/*.java COMMAND ${DEX_COMMAND} COMMAND ${BUILD_TOOLS}/aapt package -f -M AndroidManifest.xml --version-code ${APK_VERSION_CODE} --version-name ${APK_VERSION_NAME} -S res -I ${ANDROID_JAR} -F demos-unaligned.apk bin libs COMMAND ${BUILD_TOOLS}/zipalign -f 4 demos-unaligned.apk demos.apk diff --git a/util/test/demos/android/AndroidManifest.xml b/util/test/demos/android/AndroidManifest.xml index e60885d6f..c9a578653 100644 --- a/util/test/demos/android/AndroidManifest.xml +++ b/util/test/demos/android/AndroidManifest.xml @@ -12,6 +12,10 @@ + + + +