Amazon sub rejected due to failure to load - but works when installing locally

I have been using the SDK tester and everything has been working fine. I don’t have a Kindle but was able to test everything successfully on a Galaxy S4 and a Nexus 7.  

The game ran just as it should, and as it does on other platforms, so I’ve submitted it.  

However I’ve just had an email from Amazon saying: 

“My Game Name” does not successfully launch on Kindle Fire Tablets and Non Amazon devices. Upon launch, the app force closes, crashes, or displays only a black screen

Does anyone know what could be causing this? If it just said it didn’t work on Kindles that would be one thing, but it says it doesn’t work on Non Amazon devices. I reinstalled a copy locally again just to be sure, and it still works on my devices.

Any ideas?

What does your config.lua look like? It’s possible you might not be addressing the resolutions of the devices that Amazon is testing.

I don’t think it’s that, since we’re using dynamic scaling anyway.

I’ve just went and bought a kindle, and it seems that it is failing to load the openssl plugin.

06-11 14:38:02.464: D/dalvikvm(10455): Trying to load lib /data/app-lib/com.mycompany.mygame-1/libplugin.openssl.so 0x40fc1508 06-11 14:38:02.464: E/dalvikvm(10455): dlopen("/data/app-lib/com.mycompany.mygame-1/libplugin.openssl.so") failed: Cannot load library: soinfo\_link\_image(linker.cpp:1635): could not load library "liblua.so" needed by "libplugin.openssl.so"; caused by load\_library(linker.cpp:745): library "liblua.so" not found 06-11 14:38:02.464: W/dalvikvm(10455): Exception Ljava/lang/UnsatisfiedLinkError; thrown while initializing Lcom/mycompany/mygame/CoronaApplication; 06-11 14:38:02.464: W/dalvikvm(10455): Class init failed in newInstance call (Lcom/mycompany/mygame/CoronaApplication;) 06-11 14:38:02.464: D/AndroidRuntime(10455): Shutting down VM 06-11 14:38:02.464: W/dalvikvm(10455): threadid=1: thread exiting with uncaught exception (group=0x40cffac8) 06-11 14:38:02.464: I/LAB126(909): PhoneStatusBar hears intent. action: android.intent.action.CONFIGURATION\_CHANGED 06-11 14:38:02.464: D/Resolver(922): icon resource drawable 2130837581 06-11 14:38:02.464: D/Resolver(922): icon resource drawable 2130837605 06-11 14:38:02.464: D/Resolver(922): icon resource drawable 2130837611 06-11 14:38:02.464: D/Resolver(922): icon resource drawable 2130837611 06-11 14:38:02.464: D/Resolver(922): icon resource drawable 2130837605 06-11 14:38:02.464: D/Resolver(922): icon resource drawable 2130837581 06-11 14:38:02.464: E/AndroidRuntime(10455): FATAL EXCEPTION: main 06-11 14:38:02.464: E/AndroidRuntime(10455): java.lang.ExceptionInInitializerError 06-11 14:38:02.464: E/AndroidRuntime(10455): at java.lang.Class.newInstanceImpl(Native Method) 06-11 14:38:02.464: E/AndroidRuntime(10455): at java.lang.Class.newInstance(Class.java:1319) 06-11 14:38:02.464: E/AndroidRuntime(10455): at android.app.Instrumentation.newApplication(Instrumentation.java:983) 06-11 14:38:02.464: E/AndroidRuntime(10455): at android.app.Instrumentation.newApplication(Instrumentation.java:968) 06-11 14:38:02.464: E/AndroidRuntime(10455): at android.app.LoadedApk.makeApplication(LoadedApk.java:509) 06-11 14:38:02.464: E/AndroidRuntime(10455): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4474) 06-11 14:38:02.464: E/AndroidRuntime(10455): at android.app.ActivityThread.access$1300(ActivityThread.java:146) 06-11 14:38:02.464: E/AndroidRuntime(10455): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1305) 06-11 14:38:02.464: E/AndroidRuntime(10455): at android.os.Handler.dispatchMessage(Handler.java:99) 06-11 14:38:02.464: E/AndroidRuntime(10455): at android.os.Looper.loop(Looper.java:146) 06-11 14:38:02.464: E/AndroidRuntime(10455): at android.app.ActivityThread.main(ActivityThread.java:5150) 06-11 14:38:02.464: E/AndroidRuntime(10455): at java.lang.reflect.Method.invokeNative(Native Method) 06-11 14:38:02.464: E/AndroidRuntime(10455): at java.lang.reflect.Method.invoke(Method.java:511) 06-11 14:38:02.464: E/AndroidRuntime(10455): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 06-11 14:38:02.464: E/AndroidRuntime(10455): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 06-11 14:38:02.464: E/AndroidRuntime(10455): at dalvik.system.NativeStart.main(Native Method) 06-11 14:38:02.464: E/AndroidRuntime(10455): Caused by: java.lang.UnsatisfiedLinkError: Cannot load library: soinfo\_link\_image(linker.cpp:1635): could not load library "liblua.so" needed by "libplugin.openssl.so"; caused by load\_library(linker.cpp:745): library "liblua.so" not found 06-11 14:38:02.464: E/AndroidRuntime(10455): at java.lang.Runtime.loadLibrary(Runtime.java:371) 06-11 14:38:02.464: E/AndroidRuntime(10455): at java.lang.System.loadLibrary(System.java:535) 06-11 14:38:02.464: E/AndroidRuntime(10455): at com.mycompany.mygame.CoronaApplication.\<clinit\>(CoronaApplication.java:35) 06-11 14:38:02.464: E/AndroidRuntime(10455): ... 16 more 06-11 14:38:02.514: W/ActivityManager(788): Force finishing activity com.mycompany.mygame/com.ansca.corona.CoronaActivity 06-11 14:38:02.514: W/ActivityManager(788): Force finishing activity com.amazon.kindle.otter/.activities.AppsLibraryActivity 06-11 14:38:02.574: D/SoftkeyBarService(922): ### intercept Application Error: com.mycompany.mygame

Which is strange because it works just fine for other android devices. We’re building using Enterprise so there is potential for coding error in my build scripts and project structure, but if it didn’t work on one Android store I wouldn’t expect it to work on any of them yet it works on Google Play.

Des anyone know if there is anything different that I would need to add to AndroidManifest.xml or anywhere else for Amazon builds?

I rebuilt using the simulator instead of Enterprise, and after submitting to Amazon it has gone through successfully.  

Could it be because in my Enterprise folder the libplugin.openssl.so file is in libs/armeabi-v7a, perhaps amazon builds don’t have access to that folder?

Or do I need to specify something elsewhere (AndroidManifest.xml?) in order to make sure those plugin files get used?

What does your config.lua look like? It’s possible you might not be addressing the resolutions of the devices that Amazon is testing.

I don’t think it’s that, since we’re using dynamic scaling anyway.

I’ve just went and bought a kindle, and it seems that it is failing to load the openssl plugin.

06-11 14:38:02.464: D/dalvikvm(10455): Trying to load lib /data/app-lib/com.mycompany.mygame-1/libplugin.openssl.so 0x40fc1508 06-11 14:38:02.464: E/dalvikvm(10455): dlopen("/data/app-lib/com.mycompany.mygame-1/libplugin.openssl.so") failed: Cannot load library: soinfo\_link\_image(linker.cpp:1635): could not load library "liblua.so" needed by "libplugin.openssl.so"; caused by load\_library(linker.cpp:745): library "liblua.so" not found 06-11 14:38:02.464: W/dalvikvm(10455): Exception Ljava/lang/UnsatisfiedLinkError; thrown while initializing Lcom/mycompany/mygame/CoronaApplication; 06-11 14:38:02.464: W/dalvikvm(10455): Class init failed in newInstance call (Lcom/mycompany/mygame/CoronaApplication;) 06-11 14:38:02.464: D/AndroidRuntime(10455): Shutting down VM 06-11 14:38:02.464: W/dalvikvm(10455): threadid=1: thread exiting with uncaught exception (group=0x40cffac8) 06-11 14:38:02.464: I/LAB126(909): PhoneStatusBar hears intent. action: android.intent.action.CONFIGURATION\_CHANGED 06-11 14:38:02.464: D/Resolver(922): icon resource drawable 2130837581 06-11 14:38:02.464: D/Resolver(922): icon resource drawable 2130837605 06-11 14:38:02.464: D/Resolver(922): icon resource drawable 2130837611 06-11 14:38:02.464: D/Resolver(922): icon resource drawable 2130837611 06-11 14:38:02.464: D/Resolver(922): icon resource drawable 2130837605 06-11 14:38:02.464: D/Resolver(922): icon resource drawable 2130837581 06-11 14:38:02.464: E/AndroidRuntime(10455): FATAL EXCEPTION: main 06-11 14:38:02.464: E/AndroidRuntime(10455): java.lang.ExceptionInInitializerError 06-11 14:38:02.464: E/AndroidRuntime(10455): at java.lang.Class.newInstanceImpl(Native Method) 06-11 14:38:02.464: E/AndroidRuntime(10455): at java.lang.Class.newInstance(Class.java:1319) 06-11 14:38:02.464: E/AndroidRuntime(10455): at android.app.Instrumentation.newApplication(Instrumentation.java:983) 06-11 14:38:02.464: E/AndroidRuntime(10455): at android.app.Instrumentation.newApplication(Instrumentation.java:968) 06-11 14:38:02.464: E/AndroidRuntime(10455): at android.app.LoadedApk.makeApplication(LoadedApk.java:509) 06-11 14:38:02.464: E/AndroidRuntime(10455): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4474) 06-11 14:38:02.464: E/AndroidRuntime(10455): at android.app.ActivityThread.access$1300(ActivityThread.java:146) 06-11 14:38:02.464: E/AndroidRuntime(10455): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1305) 06-11 14:38:02.464: E/AndroidRuntime(10455): at android.os.Handler.dispatchMessage(Handler.java:99) 06-11 14:38:02.464: E/AndroidRuntime(10455): at android.os.Looper.loop(Looper.java:146) 06-11 14:38:02.464: E/AndroidRuntime(10455): at android.app.ActivityThread.main(ActivityThread.java:5150) 06-11 14:38:02.464: E/AndroidRuntime(10455): at java.lang.reflect.Method.invokeNative(Native Method) 06-11 14:38:02.464: E/AndroidRuntime(10455): at java.lang.reflect.Method.invoke(Method.java:511) 06-11 14:38:02.464: E/AndroidRuntime(10455): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 06-11 14:38:02.464: E/AndroidRuntime(10455): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 06-11 14:38:02.464: E/AndroidRuntime(10455): at dalvik.system.NativeStart.main(Native Method) 06-11 14:38:02.464: E/AndroidRuntime(10455): Caused by: java.lang.UnsatisfiedLinkError: Cannot load library: soinfo\_link\_image(linker.cpp:1635): could not load library "liblua.so" needed by "libplugin.openssl.so"; caused by load\_library(linker.cpp:745): library "liblua.so" not found 06-11 14:38:02.464: E/AndroidRuntime(10455): at java.lang.Runtime.loadLibrary(Runtime.java:371) 06-11 14:38:02.464: E/AndroidRuntime(10455): at java.lang.System.loadLibrary(System.java:535) 06-11 14:38:02.464: E/AndroidRuntime(10455): at com.mycompany.mygame.CoronaApplication.\<clinit\>(CoronaApplication.java:35) 06-11 14:38:02.464: E/AndroidRuntime(10455): ... 16 more 06-11 14:38:02.514: W/ActivityManager(788): Force finishing activity com.mycompany.mygame/com.ansca.corona.CoronaActivity 06-11 14:38:02.514: W/ActivityManager(788): Force finishing activity com.amazon.kindle.otter/.activities.AppsLibraryActivity 06-11 14:38:02.574: D/SoftkeyBarService(922): ### intercept Application Error: com.mycompany.mygame

Which is strange because it works just fine for other android devices. We’re building using Enterprise so there is potential for coding error in my build scripts and project structure, but if it didn’t work on one Android store I wouldn’t expect it to work on any of them yet it works on Google Play.

Des anyone know if there is anything different that I would need to add to AndroidManifest.xml or anywhere else for Amazon builds?

I rebuilt using the simulator instead of Enterprise, and after submitting to Amazon it has gone through successfully.  

Could it be because in my Enterprise folder the libplugin.openssl.so file is in libs/armeabi-v7a, perhaps amazon builds don’t have access to that folder?

Or do I need to specify something elsewhere (AndroidManifest.xml?) in order to make sure those plugin files get used?