diff options
Diffstat (limited to 'src/android/app')
| -rw-r--r-- | src/android/app/build.gradle.kts | 7 | ||||
| -rw-r--r-- | src/android/app/proguard-rules.pro | 3 | ||||
| -rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/NativeLibrary.kt | 4 | ||||
| -rw-r--r-- | src/android/app/src/main/jni/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | src/android/app/src/main/jni/native.cpp | 9 | ||||
| -rw-r--r-- | src/android/app/src/main/res/values-fa/strings.xml | 1 | ||||
| -rw-r--r-- | src/android/app/src/main/res/values/arrays.xml | 4 | ||||
| -rw-r--r-- | src/android/app/src/main/res/values/strings.xml | 2 |
8 files changed, 27 insertions, 5 deletions
diff --git a/src/android/app/build.gradle.kts b/src/android/app/build.gradle.kts index 0cef7e7196..3ae6d73994 100644 --- a/src/android/app/build.gradle.kts +++ b/src/android/app/build.gradle.kts @@ -272,6 +272,13 @@ android { resValue("string", "app_name_suffixed", "$currentName$suffix") resValue("string", "app_name", "Eden$suffix") } + + sourceSets { + named("main") { + java.srcDir("${edenDir}/externals/generated/sdl/java") + kotlin.srcDir("${edenDir}/externals/generated/sdl/java") + } + } } idea { diff --git a/src/android/app/proguard-rules.pro b/src/android/app/proguard-rules.pro index 691e08fd03..91f63bbb84 100644 --- a/src/android/app/proguard-rules.pro +++ b/src/android/app/proguard-rules.pro @@ -9,6 +9,9 @@ -keep class org.ini4j.spi.IniBuilder -keep class org.ini4j.spi.IniFormatter +-keep class org.libsdl.app.** { *; } +-keepclassmembers class org.libsdl.app.** { *; } + # Suppress warnings for R8 -dontwarn org.bouncycastle.jsse.BCSSLParameters -dontwarn org.bouncycastle.jsse.BCSSLSocket diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/NativeLibrary.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/NativeLibrary.kt index 4b46dd76a2..77222884c6 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/NativeLibrary.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/NativeLibrary.kt @@ -16,6 +16,7 @@ import android.widget.TextView import androidx.annotation.Keep import androidx.core.net.toUri import com.google.android.material.dialog.MaterialAlertDialogBuilder +import org.libsdl.app.SDL import java.lang.ref.WeakReference import org.yuzu.yuzu_emu.activities.EmulationActivity import org.yuzu.yuzu_emu.fragments.CoreErrorDialogFragment @@ -52,6 +53,8 @@ object NativeLibrary { init { try { System.loadLibrary("yuzu-android") + SDL.setupJNI() + initJvm() } catch (ex: UnsatisfiedLinkError) { error("[NativeLibrary] $ex") } @@ -367,6 +370,7 @@ object NativeLibrary { NetPlayManager.clearChat() } + external fun initJvm() external fun initMultiplayer() @Keep diff --git a/src/android/app/src/main/jni/CMakeLists.txt b/src/android/app/src/main/jni/CMakeLists.txt index 7013691765..86c05d7c0d 100644 --- a/src/android/app/src/main/jni/CMakeLists.txt +++ b/src/android/app/src/main/jni/CMakeLists.txt @@ -22,7 +22,7 @@ add_library(yuzu-android SHARED set_property(TARGET yuzu-android PROPERTY IMPORTED_LOCATION ${FFmpeg_LIBRARY_DIR}) target_link_libraries(yuzu-android PRIVATE audio_core common core input_common frontend_common video_core) -target_link_libraries(yuzu-android PRIVATE android camera2ndk EGL glad jnigraphics log) +target_link_libraries(yuzu-android PRIVATE android camera2ndk EGL glad jnigraphics log GLESv2) if (ARCHITECTURE_arm64) target_link_libraries(yuzu-android PRIVATE adrenotools) endif() diff --git a/src/android/app/src/main/jni/native.cpp b/src/android/app/src/main/jni/native.cpp index 9fc550985a..423edc2c1b 100644 --- a/src/android/app/src/main/jni/native.cpp +++ b/src/android/app/src/main/jni/native.cpp @@ -1730,6 +1730,15 @@ jint Java_org_yuzu_yuzu_1emu_NativeLibrary_loadAmiibo(JNIEnv* env, jobject jobj, return static_cast<jint>(info); } +extern "C" JNIEXPORT void JNICALL +Java_org_yuzu_yuzu_1emu_NativeLibrary_initJvm(JNIEnv *env, jclass clazz) { + JavaVM *vm; + if (env->GetJavaVM(&vm) != JNI_OK) + return; + + Common::Android::Initialize(vm, env); +} + JNIEXPORT void JNICALL Java_org_yuzu_yuzu_1emu_NativeLibrary_initMultiplayer( JNIEnv* env, [[maybe_unused]] jobject obj) { diff --git a/src/android/app/src/main/res/values-fa/strings.xml b/src/android/app/src/main/res/values-fa/strings.xml index 98b94d166d..6b40d97f2a 100644 --- a/src/android/app/src/main/res/values-fa/strings.xml +++ b/src/android/app/src/main/res/values-fa/strings.xml @@ -800,7 +800,6 @@ <string name="theme_mode_dark">تاریک</string> <!-- Audio output engines --> - <string name="oboe">oboe</string> <string name="cubeb">cubeb</string> <!-- Anisotropic filtering options --> diff --git a/src/android/app/src/main/res/values/arrays.xml b/src/android/app/src/main/res/values/arrays.xml index b1c0a98a61..931cf2bfa7 100644 --- a/src/android/app/src/main/res/values/arrays.xml +++ b/src/android/app/src/main/res/values/arrays.xml @@ -465,13 +465,13 @@ <string-array name="outputEngineEntries"> <item>@string/auto</item> - <item>@string/oboe</item> + <item>@string/sdl3</item> <item>@string/cubeb</item> <item>@string/string_null</item> </string-array> <integer-array name="outputEngineValues"> <item>0</item> - <item>4</item> + <item>2</item> <item>1</item> <item>3</item> </integer-array> diff --git a/src/android/app/src/main/res/values/strings.xml b/src/android/app/src/main/res/values/strings.xml index 3f6d1889ff..55783f6e43 100644 --- a/src/android/app/src/main/res/values/strings.xml +++ b/src/android/app/src/main/res/values/strings.xml @@ -1240,7 +1240,7 @@ <string name="theme_mode_dark">Dark</string> <!-- Audio output engines --> - <string name="oboe" translatable="false">oboe</string> + <string name="sdl3" translatable="false">SDL3</string> <string name="cubeb" translatable="false">cubeb</string> <!-- Anisotropic filtering options --> |
