diff --git a/app/build.gradle b/app/build.gradle index 950bb2fa..9729af65 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -40,10 +40,20 @@ android { buildTypes { release { if (keystorePropertiesFile.exists()) signingConfig signingConfigs.release + externalNativeBuild { + cmake { + arguments "-DANDROID_PACKAGE_NAME=${android.defaultConfig.applicationId}" + } + } } debug { applicationIdSuffix ".debug" versionNameSuffix "-debug" + externalNativeBuild { + cmake { + arguments "-DANDROID_PACKAGE_NAME=${android.defaultConfig.applicationId}${applicationIdSuffix}" + } + } } } externalNativeBuild { diff --git a/app/src/main/java/com/wireguard/android/util/RootShell.java b/app/src/main/java/com/wireguard/android/util/RootShell.java index 18e04102..9216d475 100644 --- a/app/src/main/java/com/wireguard/android/util/RootShell.java +++ b/app/src/main/java/com/wireguard/android/util/RootShell.java @@ -10,6 +10,7 @@ import android.content.Context; import android.support.annotation.Nullable; import android.util.Log; +import com.wireguard.android.BuildConfig; import com.wireguard.android.R; import java.io.BufferedReader; @@ -45,8 +46,8 @@ public class RootShell { final File cacheDir = context.getCacheDir(); localBinaryDir = new File(cacheDir, "bin"); localTemporaryDir = new File(cacheDir, "tmp"); - preamble = String.format("export CALLING_PACKAGE=com.wireguard.android PATH=\"%s:$PATH\" TMPDIR='%s'; id -u\n", - localBinaryDir, localTemporaryDir); + preamble = String.format("export CALLING_PACKAGE=%s PATH=\"%s:$PATH\" TMPDIR='%s'; id -u\n", + BuildConfig.APPLICATION_ID, localBinaryDir, localTemporaryDir); } private static boolean isExecutableInPath(final String name) { diff --git a/app/tools/CMakeLists.txt b/app/tools/CMakeLists.txt index 32fb65b4..bc6e6745 100644 --- a/app/tools/CMakeLists.txt +++ b/app/tools/CMakeLists.txt @@ -9,11 +9,11 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fuse-ld=gold") add_executable(libwg-quick.so wireguard/src/tools/wg-quick/android.c) -target_compile_options(libwg-quick.so PUBLIC -O3 -std=gnu11 -Wall -pedantic -Wno-missing-field-initializers) +target_compile_options(libwg-quick.so PUBLIC -O3 -std=gnu11 -Wall -pedantic -Wno-missing-field-initializers -DWG_PACKAGE_NAME=\"${ANDROID_PACKAGE_NAME}\") file(GLOB WG_SOURCES wireguard/src/tools/*.c libmnl/src/*.c) add_executable(libwg.so ${WG_SOURCES}) -target_compile_options(libwg.so PUBLIC -idirafter "${CMAKE_CURRENT_SOURCE_DIR}/libmnl/include/" -I "${CMAKE_CURRENT_SOURCE_DIR}/wireguard/src/tools/" -O3 -std=gnu11 -D_GNU_SOURCE -DHAVE_VISIBILITY_HIDDEN -DRUNSTATEDIR=\"\\\"/data/data/com.wireguard.android/cache\\\"\" -Wno-pointer-arith -Wno-unused-parameter) +target_compile_options(libwg.so PUBLIC -idirafter "${CMAKE_CURRENT_SOURCE_DIR}/libmnl/include/" -I "${CMAKE_CURRENT_SOURCE_DIR}/wireguard/src/tools/" -O3 -std=gnu11 -D_GNU_SOURCE -DHAVE_VISIBILITY_HIDDEN -DRUNSTATEDIR=\"/data/data/${ANDROID_PACKAGE_NAME}/cache\" -Wno-pointer-arith -Wno-unused-parameter) add_custom_target(libwg-go.so WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/libwg-go" COMMENT "Building wireguard-go" VERBATIM COMMAND make ANDROID_ARCH_NAME=${ANDROID_ARCH_NAME} diff --git a/app/tools/wireguard b/app/tools/wireguard index 80b41cd8..be3e2a91 160000 --- a/app/tools/wireguard +++ b/app/tools/wireguard @@ -1 +1 @@ -Subproject commit 80b41cd845c9d240b317453af5a29580e052d6b9 +Subproject commit be3e2a9134e1833c313e700132018de12fe2839d