diff --git a/android/CMakeLists.txt b/android/CMakeLists.txt index 2973d72..6f1649b 100644 --- a/android/CMakeLists.txt +++ b/android/CMakeLists.txt @@ -17,7 +17,7 @@ add_library( # automatically packages shared libraries with your APK. # now build app's shared lib -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++14") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14") add_library( native-lib SHARED diff --git a/android/build.gradle b/android/build.gradle index b79a442..53fb856 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -27,15 +27,13 @@ apply plugin: "com.gladed.androidgitversion" def getCurrentFlavor() { Gradle gradle = getGradle() + if (gradle.getStartParameter().getTaskRequests().args.size() == 0) return "" String tskReqStr = gradle.getStartParameter().getTaskRequests().args[0][0] - Pattern pattern; + Pattern pattern - if( tskReqStr.contains( "assemble" ) ) - pattern = Pattern.compile("assemble(\\w*)(Release|Debug)") - else - pattern = Pattern.compile("generate(\\w*)(Release|Debug)") + pattern = Pattern.compile("(\\w*)(Release|Debug)") Matcher matcher = pattern.matcher( tskReqStr ) @@ -44,7 +42,7 @@ def getCurrentFlavor() { else { println "NO MATCH FOUND" - return ""; + return "" } } @@ -54,7 +52,7 @@ def flavor_cap = getCurrentFlavor().capitalize() Properties properties = new Properties() properties.load(project.rootProject.file('local.properties').newDataInputStream()) def sdkDir = properties.getProperty("sdk.dir") -def classpath = "build/intermediates/javac/${flavor}/compile${flavor_cap}JavaWithJavac/classes:${sdkDir}/platforms/android-26/android.jar" +def classpath = "build/intermediates/javac/${flavor}/compile${flavor_cap}JavaWithJavac/classes;${sdkDir}/platforms/android-26/android.jar" def activity = "com.omixlab.panopainter.MainActivity" def outpath = "src/main/cpp" @@ -88,7 +86,7 @@ android { //cppFlags "-D__STDC_FORMAT_MACROS" arguments "-DANDROID_TOOLCHAIN=clang", //"-DANDROID_PLATFORM=android-19", - "-DANDROID_STL=gnustl_static", + "-DANDROID_STL=c++_shared", "-DCMAKE_BUILD_TYPE=${flavor_cap}", "-DANDROID_ARM_NEON=TRUE" } diff --git a/android/src/main/cpp/main.cpp b/android/src/main/cpp/main.cpp index beb0f94..3591e67 100755 --- a/android/src/main/cpp/main.cpp +++ b/android/src/main/cpp/main.cpp @@ -941,6 +941,10 @@ static void engine_handle_cmd(struct android_app* app, int32_t cmd) { void android_main(struct android_app* state) { struct engine engine; + // Make sure glue isn't stripped. + // DON'T REMOVE, even if the compiler say it's deprecated + app_dummy(); + memset(&engine, 0, sizeof(engine)); state->userData = &engine; state->onAppCmd = engine_handle_cmd;