Run Kivy application on Android Emulator

1,358 views
Skip to first unread message

Dzmitry

unread,
Sep 13, 2016, 7:30:46 AM9/13/16
to Kivy users support
Hello!

I installed Android Studio on my computer and create Android Virtual Device. Now i try run my application on this emulator, using command `buildozer android_new deploy run`. Application deployed on emulator, but when it starts to run crushed.

09-13 13:53:17.676 5046-5046/? V/PythonActivity: About to do super onCreate
09-13 13:53:17.676 5046-5046/? V/SDL: Device: generic_x86_64
09-13 13:53:17.676 5046-5046/? V/SDL: Model: Android SDK built for x86_64
09-13 13:53:17.676 5046-5046/? V/SDL: onCreate():null
09-13 13:53:17.676 5046-5046/? E/art: dlopen("/data/app/org.test.kivysmg-1/lib/x86/libSDL2.so", RTLD_LAZY) failed: dlopen failed: "/data/app/org.test.kivysmg-1/lib/x86/libSDL2.so" has unexpected e_machine: 40
09-13 13:53:17.676 5046-5046/? W/System.err: dlopen failed: "/data/app/org.test.kivysmg-1/lib/x86/libSDL2.so" has unexpected e_machine: 40
09-13 13:53:17.686 5046-5063/? D/OpenGLRenderer: Use EGL_SWAP_BEHAVIOR_PRESERVED: true
09-13 13:53:17.687 1489-1508/system_process V/WindowManager: Adding window Window{186b6394 u0 org.test.kivysmg/org.kivy.android.PythonActivity} at 2 of 8 (before Window{1cfd0def u0 Starting org.test.kivysmg})
09-13 13:53:17.687 5046-5046/? V/PythonActivity: Did super onCreate
09-13 13:53:17.687 5046-5046/? V/PythonActivity: Setting env vars for start.c and Python to use
09-13 13:53:17.687 5046-5046/? E/art: No implementation found for void org.libsdl.app.SDLActivity.nativeSetEnv(java.lang.String, java.lang.String) (tried Java_org_libsdl_app_SDLActivity_nativeSetEnv and Java_org_libsdl_app_SDLActivity_nativeSetEnv__Ljava_lang_String_2Ljava_lang_String_2)
09-13 13:53:17.687 5046-5046/? D/AndroidRuntime: Shutting down VM
09-13 13:53:17.687 5046-5046/? E/AndroidRuntime: FATAL EXCEPTION: main
                                                 
Process: org.test.kivysmg, PID: 5046
                                                 java.lang.UnsatisfiedLinkError: No implementation found for void org.libsdl.app.SDLActivity.nativeSetEnv(java.lang.String, java.lang.String) (tried Java_org_libsdl_app_SDLActivity_nativeSetEnv and Java_org_libsdl_app_SDLActivity_nativeSetEnv__Ljava_lang_String_2Ljava_lang_String_2)
                                                     at org
.libsdl.app.SDLActivity.nativeSetEnv(Native Method)
                                                     at org
.kivy.android.PythonActivity.onCreate(PythonActivity.java:78)
                                                     at android
.app.Activity.performCreate(Activity.java:5990)
                                                     at android
.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
                                                     at android
.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)
                                                     at android
.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
                                                     at android
.app.ActivityThread.access$800(ActivityThread.java:151)
                                                     at android
.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
                                                     at android
.os.Handler.dispatchMessage(Handler.java:102)
                                                     at android
.os.Looper.loop(Looper.java:135)
                                                     at android
.app.ActivityThread.main(ActivityThread.java:5254)
                                                     at java
.lang.reflect.Method.invoke(Native Method)
                                                     at java
.lang.reflect.Method.invoke(Method.java:372)
                                                     at com
.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
                                                     at com
.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
09-13 13:53:17.688 1489-1897/system_process W/ActivityManager:   Force finishing activity 1 org.test.kivysmg/org.kivy.android.PythonActivity
09-13 13:53:17.697 1121-1121/? E/EGL_emulation: tid 1121: eglCreateSyncKHR(1299): error 0x3004 (EGL_BAD_ATTRIBUTE)
09-13 13:53:17.735 2389-5065/com.google.android.gms D/DropBoxEntryAddedChimeraService: User is not opted-in to Usage & Diagnostics.
09-13 13:53:17.759 1489-3589/system_process I/OpenGLRenderer: Initialized EGL, version 1.4
09-13 13:53:17.786 1489-3589/system_process W/EGL_emulation: eglSurfaceAttrib not implemented
09-13 13:53:17.786 1489-3589/system_process W/OpenGLRenderer: Failed to set EGL_SWAP_BEHAVIOR on surface 0x7f07c376ce00, error=EGL_SUCCESS
09-13 13:53:18.220 1489-1513/system_process W/ActivityManager: Activity pause timeout for ActivityRecord{346cd964 u0 org.test.kivysmg/org.kivy.android.PythonActivity t10 f}



May be somebody know how fix this issue, or can advise another emulator, where i can run kivy application?


Thanks.

Alexander Taylor

unread,
Sep 13, 2016, 4:06:31 PM9/13/16
to Kivy users support
Your app is compiled for arm, but the emulator is x86 only. You can probably use an arm emulator, or python-for-android does support x86 (--arch=x86) but buildozer doesn't expose this option.

Dzmitry

unread,
Sep 14, 2016, 8:21:39 AM9/14/16
to Kivy users support
Many thanks for your answer!

How i understand, i can use `--arch=x86` just in 32 bit system?

вторник, 13 сентября 2016 г., 23:06:31 UTC+3 пользователь Alexander Taylor написал:

Dzmitry

unread,
Sep 15, 2016, 4:17:32 AM9/15/16
to Kivy users support
I created arm emulator, it work very slow, but i can test my application :)
Reply all
Reply to author
Forward
0 new messages