From 92c1b524870be547dd0387e3010825cb146fa865 Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Fri, 17 Nov 2017 16:41:52 +0100 Subject: [PATCH] android: Load JNI libraries in Application class This way they are also loaded when we don't use CharonVpnService. --- .../android/logic/CharonVpnService.java | 24 ----------------- .../android/logic/StrongSwanApplication.java | 26 +++++++++++++++++++ 2 files changed, 26 insertions(+), 24 deletions(-) diff --git a/src/frontends/android/app/src/main/java/org/strongswan/android/logic/CharonVpnService.java b/src/frontends/android/app/src/main/java/org/strongswan/android/logic/CharonVpnService.java index 95c2ccd1f..b6e7e2d64 100644 --- a/src/frontends/android/app/src/main/java/org/strongswan/android/logic/CharonVpnService.java +++ b/src/frontends/android/app/src/main/java/org/strongswan/android/logic/CharonVpnService.java @@ -1073,28 +1073,4 @@ public class CharonVpnService extends VpnService implements Runnable, VpnStateSe { return Build.MODEL + " - " + Build.BRAND + "/" + Build.PRODUCT + "/" + Build.MANUFACTURER; } - - /* - * The libraries are extracted to /data/data/org.strongswan.android/... - * during installation. On newer releases most are loaded in JNI_OnLoad. - */ - static - { - if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN_MR2) - { - System.loadLibrary("strongswan"); - - if (MainActivity.USE_BYOD) - { - System.loadLibrary("tpmtss"); - System.loadLibrary("tncif"); - System.loadLibrary("tnccs"); - System.loadLibrary("imcv"); - } - - System.loadLibrary("charon"); - System.loadLibrary("ipsec"); - } - System.loadLibrary("androidbridge"); - } } diff --git a/src/frontends/android/app/src/main/java/org/strongswan/android/logic/StrongSwanApplication.java b/src/frontends/android/app/src/main/java/org/strongswan/android/logic/StrongSwanApplication.java index d642b67b3..19711e447 100644 --- a/src/frontends/android/app/src/main/java/org/strongswan/android/logic/StrongSwanApplication.java +++ b/src/frontends/android/app/src/main/java/org/strongswan/android/logic/StrongSwanApplication.java @@ -18,9 +18,11 @@ package org.strongswan.android.logic; import java.security.Security; import org.strongswan.android.security.LocalCertificateKeyStoreProvider; +import org.strongswan.android.ui.MainActivity; import android.app.Application; import android.content.Context; +import android.os.Build; public class StrongSwanApplication extends Application { @@ -45,4 +47,28 @@ public class StrongSwanApplication extends Application { return StrongSwanApplication.mContext; } + + /* + * The libraries are extracted to /data/data/org.strongswan.android/... + * during installation. On newer releases most are loaded in JNI_OnLoad. + */ + static + { + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN_MR2) + { + System.loadLibrary("strongswan"); + + if (MainActivity.USE_BYOD) + { + System.loadLibrary("tpmtss"); + System.loadLibrary("tncif"); + System.loadLibrary("tnccs"); + System.loadLibrary("imcv"); + } + + System.loadLibrary("charon"); + System.loadLibrary("ipsec"); + } + System.loadLibrary("androidbridge"); + } }