From 704c91e58d14cf85fb7e60eae0ecdc141796d8fc Mon Sep 17 00:00:00 2001 From: Cheng-Shiun Tsai Date: Tue, 17 Nov 2020 10:07:03 +0000 Subject: [PATCH] changing writing directory for Android /tmp doesn't exist for Android, need to use internal data directory Change-Id: I08d8855baa97e175a2874915076d4fd22ff83d6f --- README.md | 4 ++++ build/android/dali/build_demo.sh | 4 +++- build/tizen/CMakeLists.txt | 11 ++++++++++- examples/native-image-source/native-image-source-example.cpp | 2 +- 4 files changed, 18 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 6792332..1e2ec74 100644 --- a/README.md +++ b/README.md @@ -110,6 +110,10 @@ To install apks: $ adb install -r ./app/build/outputs/apk/debug/dali-demo-debug.apk $ adb install -r ./app/build/outputs/apk/release/dali-demo-release.apk +Manually granting permission for accessing Storage before running the demo + 1. Long press the DALi demo app icon => App Info + 2. Permissions => Storage => Enable + ## 4. Building for MS Windows Third party dependencies are built using vcpkg. Instructions on how to install vcpkg can be found in the diff --git a/build/android/dali/build_demo.sh b/build/android/dali/build_demo.sh index cf5f98e..5d56b08 100755 --- a/build/android/dali/build_demo.sh +++ b/build/android/dali/build_demo.sh @@ -21,8 +21,10 @@ else export DALI_APP_RES_DIR=${PREFIX}/files export DALI_APP_DIR=${PREFIX}/lib/${ANDROID_ABI} export DALI_DEMO_RES_DIR=assets + #NOTE: keep app id consistent with dali-demo/build/android/app/src/main/AndroidManifest.xml + export DALI_DEMO_APP_ID=com.sec.dalidemo - ${ANDROID_SDK}/cmake/3.10.2.4988404/bin/cmake ${DALI_DIR}/dali-demo/build/tizen -DCMAKE_C_COMPILER=${ANDROID_NDK}/toolchains/llvm/prebuilt/linux-x86_64/bin/clang -DCMAKE_CXX_COMPILER=${ANDROID_NDK}/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ -DCMAKE_INSTALL_PREFIX=${PREFIX} -DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK}/build/cmake/android.toolchain.cmake -DANDROID_PLATFORM=${ANDROID_PLATFORM} -DANDROID_ABI=${ANDROID_ABI} -DANDROID_NDK=${ANDROID_NDK} -DANDROID_STL=c++_shared -DCMAKE_CXX_FLAGS='-fexceptions -frtti -w -Wall -std=c++17' -DINCLUDE_DIR=${PREFIX}/include -DLIB_DIR=${PREFIX}/lib/${ANDROID_ABI} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DENABLE_TRACE=${ENABLE_TRACE} -DINTERNATIONALIZATION=OFF -DSHARED=ON -DDALI_APP_RES_DIR=${DALI_APP_RES_DIR} -DDALI_APP_DIR=${DALI_APP_DIR} -DDALI_DEMO_RES_DIR=${DALI_DEMO_RES_DIR} + ${ANDROID_SDK}/cmake/3.10.2.4988404/bin/cmake ${DALI_DIR}/dali-demo/build/tizen -DCMAKE_C_COMPILER=${ANDROID_NDK}/toolchains/llvm/prebuilt/linux-x86_64/bin/clang -DCMAKE_CXX_COMPILER=${ANDROID_NDK}/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ -DCMAKE_INSTALL_PREFIX=${PREFIX} -DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK}/build/cmake/android.toolchain.cmake -DANDROID_PLATFORM=${ANDROID_PLATFORM} -DANDROID_ABI=${ANDROID_ABI} -DANDROID_NDK=${ANDROID_NDK} -DANDROID_STL=c++_shared -DCMAKE_CXX_FLAGS='-fexceptions -frtti -w -Wall -std=c++17' -DINCLUDE_DIR=${PREFIX}/include -DLIB_DIR=${PREFIX}/lib/${ANDROID_ABI} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DENABLE_TRACE=${ENABLE_TRACE} -DINTERNATIONALIZATION=OFF -DSHARED=ON -DDALI_APP_RES_DIR=${DALI_APP_RES_DIR} -DDALI_APP_DIR=${DALI_APP_DIR} -DDALI_DEMO_RES_DIR=${DALI_DEMO_RES_DIR} -DDALI_DEMO_APP_ID=${DALI_DEMO_APP_ID} fi make -j8 || exit 1 diff --git a/build/tizen/CMakeLists.txt b/build/tizen/CMakeLists.txt index 8a1c59f..aea3cd2 100644 --- a/build/tizen/CMakeLists.txt +++ b/build/tizen/CMakeLists.txt @@ -104,6 +104,15 @@ ENDIF() SET(DEMO_EXAMPLE_BIN \\"${BINDIR}/\\") SET(DEMO_LANG \\"${LANG}\\") +#For run-time read/write directory +IF(ANDROID) + SET(DEMO_DATA_RW_DIR \\"/data/data/${DALI_DEMO_APP_ID}/\\") + SET(DEMO_DATA_PUBLIC_RW_DIR \\"/sdcard/\\") +ELSE() + SET(DEMO_DATA_RW_DIR \\"/tmp/\\") + SET(DEMO_DATA_PUBLIC_RW_DIR \\"/tmp/\\") +ENDIF() + FILE(GLOB LOCAL_IMAGES_PNG RELATIVE "${LOCAL_IMAGES_DIR}" "${LOCAL_IMAGES_DIR}/*.png") FILE(GLOB LOCAL_IMAGES_JPG RELATIVE "${LOCAL_IMAGES_DIR}" "${LOCAL_IMAGES_DIR}/*.jpg") FILE(GLOB LOCAL_IMAGES_GIF RELATIVE "${LOCAL_IMAGES_DIR}" "${LOCAL_IMAGES_DIR}/*.gif") @@ -257,7 +266,7 @@ ELSEIF( UNIX ) ) ENDIF() -SET(DALI_DEMO_CFLAGS "-DDEMO_GAME_DIR=${DEMO_GAME_DIR} -DDEMO_IMAGE_DIR=${DEMO_IMAGE_DIR} -DDEMO_VIDEO_DIR=${DEMO_VIDEO_DIR} -DDEMO_MODEL_DIR=${DEMO_MODEL_DIR} -DDEMO_SCRIPT_DIR=${DEMO_SCRIPT_DIR} -DDEMO_SHADER_DIR=${DEMO_SHADER_DIR} -DDEMO_STYLE_DIR=${DEMO_STYLE_DIR} -DDEMO_THEME_PATH=${DEMO_THEME_PATH} -DDEMO_EXAMPLE_BIN=${DEMO_EXAMPLE_BIN} -DDEMO_LOCALE_DIR=${DEMO_LOCALE_DIR} -DDEMO_LANG=${DEMO_LANG}") +SET(DALI_DEMO_CFLAGS "-DDEMO_GAME_DIR=${DEMO_GAME_DIR} -DDEMO_IMAGE_DIR=${DEMO_IMAGE_DIR} -DDEMO_VIDEO_DIR=${DEMO_VIDEO_DIR} -DDEMO_MODEL_DIR=${DEMO_MODEL_DIR} -DDEMO_SCRIPT_DIR=${DEMO_SCRIPT_DIR} -DDEMO_SHADER_DIR=${DEMO_SHADER_DIR} -DDEMO_STYLE_DIR=${DEMO_STYLE_DIR} -DDEMO_THEME_PATH=${DEMO_THEME_PATH} -DDEMO_EXAMPLE_BIN=${DEMO_EXAMPLE_BIN} -DDEMO_LOCALE_DIR=${DEMO_LOCALE_DIR} -DDEMO_LANG=${DEMO_LANG} -DDEMO_DATA_RW_DIR=${DEMO_DATA_RW_DIR} -DDEMO_DATA_PUBLIC_RW_DIR=${DEMO_DATA_PUBLIC_RW_DIR} ") IF( ENABLE_DEBUG ) SET(DALI_DEMO_CFLAGS "${DALI_DEMO_CFLAGS} -DDEBUG_ENABLED") diff --git a/examples/native-image-source/native-image-source-example.cpp b/examples/native-image-source/native-image-source-example.cpp index 4183352..f08c142 100644 --- a/examples/native-image-source/native-image-source-example.cpp +++ b/examples/native-image-source/native-image-source-example.cpp @@ -32,7 +32,7 @@ const float BUTTON_HEIGHT = 100.0f; const float BUTTON_COUNT = 5.0f; const std::string JPG_FILENAME = DEMO_IMAGE_DIR "gallery-medium-4.jpg"; -const std::string CAPTURE_FILENAME = "/tmp/native-image-capture.png"; +const std::string CAPTURE_FILENAME = DEMO_DATA_PUBLIC_RW_DIR "native-image-capture.png"; /** * @brief Creates a shader used to render a native image -- 2.7.4