From: Tobias Brunner Date: Fri, 17 Nov 2017 15:41:52 +0000 (+0100) Subject: android: Load JNI libraries in Application class X-Git-Tag: 5.6.2dr1~4^2~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=92c1b524870be547dd0387e3010825cb146fa865;p=thirdparty%2Fstrongswan.git android: Load JNI libraries in Application class This way they are also loaded when we don't use CharonVpnService. --- 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 95c2ccd1f3..b6e7e2d644 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 d642b67b3b..19711e4474 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"); + } }