androidproguardluajavaandrolua

Proguard config when using luajava


Trying to Proguard my app that uses luajava (with AndroLua) and it runs fine until I proguard it and then it fails to start, i just get a black screen, and the logs fill up with the below entries which don't stop until app is uninstalled.

I'm using the standard SDK Proguard config and the follow config

-keep class org.keplerproject.luajava.**

Extract from log:

06-21 10:07:23.781: I/DEBUG(156): bea755d0 414f5fd8 /dev/ashmem/dalvik-heap (deleted) 06-21 10:07:23.781: I/DEBUG(156):
bea755d4 40af202d /system/lib/libdvm.so (dvmHeapSourceAlloc(unsigned int)+72) 06-21 10:07:23.781: I/DEBUG(156): bea755d8 414f5f30 /dev/ashmem/dalvik-heap (deleted) 06-21 10:07:23.781: I/DEBUG(156):
bea755dc bb99c9bb 06-21 10:07:23.781: I/DEBUG(156):
bea755e0 00000000 06-21 10:07:23.781: I/DEBUG(156):
bea755e4 70b14afc /data/app-lib/com.my.app-1/libluajava.so


Solution

  • I tracked the issue down to the LuaState.java the proguard config i was using kept the class but not the methods and I believe it's something to do with the proxyin of calls to lua. In any case the below proguard config worked

    -keep class org.keplerproject.luajava.** { *; }