diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-05-20 19:29:38 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2019-05-22 12:28:25 +0000 |
| commit | d2699931a9d1b10d830968a1c9862bd0769666da (patch) | |
| tree | 4ae4792d3d7d11c2fc308fdd12fdcf9d6d9e44a3 /android | |
| parent | 4625ca12f83eb32d198c5a7ac691c0039889fe51 (diff) | |
| download | mullvadvpn-d2699931a9d1b10d830968a1c9862bd0769666da.tar.xz mullvadvpn-d2699931a9d1b10d830968a1c9862bd0769666da.zip | |
Create JNI interface for Android app
Diffstat (limited to 'android')
| -rw-r--r-- | android/build.gradle | 23 | ||||
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/MullvadDaemon.kt | 10 |
2 files changed, 33 insertions, 0 deletions
diff --git a/android/build.gradle b/android/build.gradle index 5be82b79d7..8daad909e0 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -4,6 +4,9 @@ import org.jmailen.gradle.kotlinter.tasks.LintTask apply plugin: 'com.android.application' apply plugin: 'kotlin-android' +def repoRootPath = projectDir.absoluteFile.parentFile.absolutePath +def extraJniDirectory = "$project.buildDir/extraJni" + android { compileSdkVersion 28 buildToolsVersion '28.0.3' @@ -22,6 +25,20 @@ android { proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" } } + + sourceSets { + main { + jniLibs { + srcDirs = files(extraJniDirectory) + } + } + } + + applicationVariants.all { variant -> + variant.ndkCompileProvider.configure { + dependsOn copyMullvadJni + } + } } repositories { @@ -65,3 +82,9 @@ task format(type: FormatTask, group: 'formatting') { } lint.dependsOn lintKotlin + +task copyMullvadJni(type: Copy) { + from "$repoRootPath/target/aarch64-linux-android/debug" + include 'libmullvad_jni.so' + into "$extraJniDirectory/arm64-v8a" +} diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/MullvadDaemon.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/MullvadDaemon.kt new file mode 100644 index 0000000000..d5ab845f89 --- /dev/null +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/MullvadDaemon.kt @@ -0,0 +1,10 @@ +package net.mullvad.mullvadvpn + +class MullvadDaemon { + init { + System.loadLibrary("mullvad_jni") + initialize() + } + + private external fun initialize() +} |
