diff --git a/app/build.gradle b/app/build.gradle index a38b75a2..1588ec59 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -39,6 +39,7 @@ android { cppFlags '-std=c++17 -fexceptions -Wno-error=format-security -fopenmp' // cppFlags '-std=c++17 -Wno-error=format-security' // arguments "-DANDROID_STL=c++_shared" + arguments "-DNCNN_DISABLE_EXCEPTION=OFF", "-DTERM_CORE_ROOT=" + coreroot, "-DOpenCV_DIR=" + opencvsdk + "/sdk/native/jni", "-DHDRPLUS_ROOT=" + hdrplusroot, "-DNCNN_ROOT=" + ncnnroot, "-DHALIDE_ROOT=" + halideroot abiFilters 'arm64-v8a', 'armeabi-v7a' // setAbiFilters(['arm64-v8a']) } @@ -74,34 +75,15 @@ android { } } - flavorDimensions "apps" - productFlavors { - N938 { - dimension = "apps" - externalNativeBuild { - cmake { - arguments "-DUSING_N938=1", "-DNCNN_DISABLE_EXCEPTION=OFF", "-DTERM_CORE_ROOT=" + coreroot, "-DOpenCV_DIR=" + opencvsdk + "/sdk/native/jni", "-DHDRPLUS_ROOT=" + hdrplusroot, "-DNCNN_ROOT=" + ncnnroot, "-DHALIDE_ROOT=" + halideroot - abiFilters "armeabi-v7a" - } - } - } - RP { - dimension = "apps" - externalNativeBuild { - cmake { - arguments "-DUSING_PLZ=1", "-DNCNN_DISABLE_EXCEPTION=OFF", "-DTERM_CORE_ROOT=" + coreroot, "-DOpenCV_DIR=" + opencvsdk + "/sdk/native/jni", "-DHDRPLUS_ROOT=" + hdrplusroot, "-DNCNN_ROOT=" + ncnnroot, "-DHALIDE_ROOT=" + halideroot - abiFilters "arm64-v8a" - } - } - } - WP { - dimension = "apps" - externalNativeBuild { - cmake { - arguments "-DNCNN_DISABLE_EXCEPTION=OFF", "-DTERM_CORE_ROOT=" + coreroot, "-DOpenCV_DIR=" + opencvsdk + "/sdk/native/jni", "-DHDRPLUS_ROOT=" + hdrplusroot, "-DNCNN_ROOT=" + ncnnroot, "-DHALIDE_ROOT=" + halideroot - abiFilters "arm64-v8a" - } - } + splits { + boolean isReleaseTask = gradle.startParameter.taskNames.any { it.contains("Release") } + // enabled on release build + abi { + enable isReleaseTask + reset() + include "armeabi-v7a", "arm64-v8a" + // include "arm64-v8a" + universalApk false } } @@ -109,19 +91,15 @@ android { variant.outputs.all { output -> if (outputFileName.endsWith('.apk')) { def buildTypeFlag = "dbg" - def flavor = variant.flavorName def prevFileName = "mpapp" - def buildType = variant.buildType if(variant.buildType.name.equals('release')) { buildTypeFlag = "rel" } - if (flavor.equals("N938")) prevFileName = "N938" - else if (flavor.equals("RP")) prevFileName = "rpapp" - def fileName = "${prevFileName}_v${defaultConfig.versionName}_${buildTypeFlag}_${new Date(System.currentTimeMillis()).format("yyyyMMdd")}.apk" - def outputDir = new File("${project.buildDir}/${buildType}") + def abi = output.getFilter(com.android.build.OutputFile.ABI) + if (abi == null) abi = "all" + if (abi.contains("v7a")) prevFileName = "N938" + def fileName = "${prevFileName}_v${defaultConfig.versionName}_${buildTypeFlag}_${new Date(System.currentTimeMillis()).format("yyyyMMdd")}_${abi}.apk" outputFileName = fileName - - // variant.getPackageApplication().outputDirectory = outputDir // new File(project.rootDir.absolutePath + "/app/build/") } } } diff --git a/app/src/main/cpp/CMakeLists.txt b/app/src/main/cpp/CMakeLists.txt index 59b29b0e..9d18a0af 100644 --- a/app/src/main/cpp/CMakeLists.txt +++ b/app/src/main/cpp/CMakeLists.txt @@ -17,15 +17,12 @@ set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS}") add_definitions(-DUSING_ETHERNET) -# USING_N938 defined in gradle -# USING_PLZ defined in gradle - -#if(ANDROID_ABI STREQUAL "armeabi-v7a") -# add_definitions(-DUSING_N938) -#elseif(ANDROID_ABI STREQUAL "arm64-v8a") -# # add_definitions(-DUSING_N938) -# # add_definitions(-DUSING_PLZ) -#endif() +if(ANDROID_ABI STREQUAL "armeabi-v7a") + add_definitions(-DUSING_N938) +elseif(ANDROID_ABI STREQUAL "arm64-v8a") + # add_definitions(-DUSING_N938) + add_definitions(-DUSING_PLZ) +endif() # OUTPUT_DBG_INFO: 输出调试相关信息 add_definitions(-DOUTPUT_DBG_INFO)