diff --git a/samples/androidNativeActivity/README.md b/samples/androidNativeActivity/README.md index b6ab01e619c..8ac2551781c 100644 --- a/samples/androidNativeActivity/README.md +++ b/samples/androidNativeActivity/README.md @@ -12,7 +12,9 @@ We use JniBridge to call vibration service on the Java side for short tremble on To build use `ANDROID_HOME= ../gradlew assemble`. Run `$ANDROID_HOME/platform-tools/adb install -r build/outputs/apk/debug/androidNativeActivity-debug.apk` -to deploy the apk on the Android device or emulator (note that only ARM-based devices are currently supported). +to deploy the apk on the Android device or emulator. + +Note that "Emulated Performance - Graphics" in AVD manager must be set to "Software - GLES 2.0". Note: If you are importing project to IDEA for the first time, you might need to put `local.properties` file with the following content: diff --git a/samples/androidNativeActivity/build.gradle.kts b/samples/androidNativeActivity/build.gradle.kts index c32dd854660..7ff9469655e 100644 --- a/samples/androidNativeActivity/build.gradle.kts +++ b/samples/androidNativeActivity/build.gradle.kts @@ -17,6 +17,8 @@ plugins { val appDir = buildDir.resolve("Polyhedron") val libsDir = appDir.resolve("libs") +// Set to true to build only for the simulator. +val simulatorOnly = true val androidPresets = mapOf( "arm32" to ("androidNativeArm32" to "$libsDir/armeabi-v7a"), @@ -40,7 +42,7 @@ android { sourceSets { val main by getting { - setRoot("src/arm32Main") + setRoot("src/x86Main") jniLibs.srcDir(libsDir) } } @@ -63,13 +65,15 @@ kotlin { } sourceSets { - val arm32Main by getting - val arm64Main by getting val x86Main by getting - val x64Main by getting - arm64Main.dependsOn(arm32Main) - x86Main.dependsOn(arm32Main) - x64Main.dependsOn(arm32Main) + if (!simulatorOnly) { + val x64Main by getting + val arm32Main by getting + val arm64Main by getting + arm32Main.dependsOn(x86Main) + arm64Main.dependsOn(x86Main) + x64Main.dependsOn(x86Main) + } } } diff --git a/samples/androidNativeActivity/src/arm32Main/AndroidManifest.xml b/samples/androidNativeActivity/src/x86Main/AndroidManifest.xml similarity index 94% rename from samples/androidNativeActivity/src/arm32Main/AndroidManifest.xml rename to samples/androidNativeActivity/src/x86Main/AndroidManifest.xml index d369e33a24f..2b7d60ee29b 100644 --- a/samples/androidNativeActivity/src/arm32Main/AndroidManifest.xml +++ b/samples/androidNativeActivity/src/x86Main/AndroidManifest.xml @@ -6,6 +6,7 @@ android:versionName="1.0"> + (length) @@ -209,6 +184,7 @@ class Renderer(val container: DisposableContainer, data[i] = data[i + 2] data[i + 2] = t } + println("loaded texture ${width}x${height}") glBindTexture(GL_TEXTURE_2D, 1) glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR) glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR) @@ -234,6 +210,7 @@ class Renderer(val container: DisposableContainer, glPushMatrix() glMatrixMode(GL_MODELVIEW) + checkErrors() glMultMatrixf(matrix) @@ -294,7 +271,7 @@ class Renderer(val container: DisposableContainer, } fun start() { - logInfo("Starting renderer..") + logInfo("Starting renderer.") if (initialized) { if (eglMakeCurrent(display, surface, surface, context) == 0u) { throw Error("eglMakeCurrent() returned error ${eglGetError()}") diff --git a/samples/androidNativeActivity/src/arm32Main/kotlin/Vectors.kt b/samples/androidNativeActivity/src/x86Main/kotlin/Vectors.kt similarity index 100% rename from samples/androidNativeActivity/src/arm32Main/kotlin/Vectors.kt rename to samples/androidNativeActivity/src/x86Main/kotlin/Vectors.kt diff --git a/samples/androidNativeActivity/src/arm32Main/kotlin/main.kt b/samples/androidNativeActivity/src/x86Main/kotlin/main.kt similarity index 100% rename from samples/androidNativeActivity/src/arm32Main/kotlin/main.kt rename to samples/androidNativeActivity/src/x86Main/kotlin/main.kt diff --git a/samples/androidNativeActivity/src/arm32Main/res/mipmap-hdpi/konan_activity.png b/samples/androidNativeActivity/src/x86Main/res/mipmap-hdpi/konan_activity.png similarity index 100% rename from samples/androidNativeActivity/src/arm32Main/res/mipmap-hdpi/konan_activity.png rename to samples/androidNativeActivity/src/x86Main/res/mipmap-hdpi/konan_activity.png diff --git a/samples/androidNativeActivity/src/arm32Main/res/mipmap-mdpi/konan_activity.png b/samples/androidNativeActivity/src/x86Main/res/mipmap-mdpi/konan_activity.png similarity index 100% rename from samples/androidNativeActivity/src/arm32Main/res/mipmap-mdpi/konan_activity.png rename to samples/androidNativeActivity/src/x86Main/res/mipmap-mdpi/konan_activity.png diff --git a/samples/androidNativeActivity/src/arm32Main/res/mipmap-xhdpi/konan_activity.png b/samples/androidNativeActivity/src/x86Main/res/mipmap-xhdpi/konan_activity.png similarity index 100% rename from samples/androidNativeActivity/src/arm32Main/res/mipmap-xhdpi/konan_activity.png rename to samples/androidNativeActivity/src/x86Main/res/mipmap-xhdpi/konan_activity.png diff --git a/samples/androidNativeActivity/src/arm32Main/res/mipmap-xxhdpi/konan_activity.png b/samples/androidNativeActivity/src/x86Main/res/mipmap-xxhdpi/konan_activity.png similarity index 100% rename from samples/androidNativeActivity/src/arm32Main/res/mipmap-xxhdpi/konan_activity.png rename to samples/androidNativeActivity/src/x86Main/res/mipmap-xxhdpi/konan_activity.png diff --git a/samples/androidNativeActivity/src/arm32Main/res/values/strings.xml b/samples/androidNativeActivity/src/x86Main/res/values/strings.xml similarity index 100% rename from samples/androidNativeActivity/src/arm32Main/res/values/strings.xml rename to samples/androidNativeActivity/src/x86Main/res/values/strings.xml