diff --git a/src/androidapp.cpp b/src/androidapp.cpp
index e9c5199f..8e9e5a96 100644
--- a/src/androidapp.cpp
+++ b/src/androidapp.cpp
@@ -34,12 +34,50 @@ Java_org_zoy_LolEngine_LolRenderer_nativeInit(JNIEnv* env)
     new DebugFps(20, 20);
 }
 
+static void TestPng(JNIEnv *env)
+{
+    jclass cls = env->FindClass("org/zoy/LolEngine/LolActivity");
+    jmethodID mid;
+
+    /* Open image from resources */
+    mid = env->GetStaticMethodID(cls, "openImage", "(Ljava/lang/String;)V");
+    jstring name = env->NewStringUTF("ascii");
+    env->CallStaticVoidMethod(cls, mid, name);
+    env->DeleteLocalRef(name);
+
+    /* Get image dimensions */
+    mid = env->GetStaticMethodID(cls, "getWidth", "()I");
+    jint w = env->CallStaticIntMethod(cls, mid);
+    mid = env->GetStaticMethodID(cls, "getHeight", "()I");
+    jint h = env->CallStaticIntMethod(cls, mid);
+    __android_log_print(ANDROID_LOG_INFO, "LOL", "Loaded PNG %dx%d", w, h);
+
+    /* Get pixels */
+    jintArray arr = env->NewIntArray(w * h * 4);
+    mid = env->GetStaticMethodID(cls, "getPixels", "([I)V");
+    env->CallStaticVoidMethod(cls, mid, arr);
+
+    /* Do something with the pixels */
+    jint *data = env->GetIntArrayElements(arr, 0);
+    __android_log_print(ANDROID_LOG_INFO, "LOL", "pixels %08x %08x %08x %08x",
+                        (unsigned)data[0], (unsigned)data[1],
+                        (unsigned)data[2], (unsigned)data[3]);
+    env->ReleaseIntArrayElements(arr, data, 0);
+    env->DeleteLocalRef(arr);
+
+    /* Free image */
+    mid = env->GetStaticMethodID(cls, "closeImage", "()V");
+    env->CallStaticVoidMethod(cls, mid);
+}
+
 extern "C" void
 Java_org_zoy_LolEngine_LolRenderer_nativeResize(JNIEnv* env, jobject thiz,
                                                 jint w, jint h)
 {
     __android_log_print(ANDROID_LOG_INFO, "LOL", "resize w=%d h=%d", w, h);
     Video::Setup(w, h);
+
+    TestPng(env);
 }
 
 extern "C" void