Darren Murtagh
Darren Murtagh

Reputation: 591

Google Store version of my app crashes

I;m not sure why but the Google play version of my app crashes upon opening when the normal apk doesn't. looking at the logcat sent back by a crash report it seems like it cant find the splash-screen class. which is weird. i have not touched the splash screen at all and the app worked before when got of google play.

i changed the version number from version 1 to version 2 since i couldn't have the same version number but would that be why it doesnt work?

here is the logcat from the crash report. i cannot duplicate this error when testing it in debug mode

java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.LEEADS/com.LEEADS.timestableseasy.Splashscreen}:     java.lang.ClassNotFoundException: Didn't find class "com.LEEADS.timestableseasy.Splashscreen" on path: DexPathList[[zip file "/data/app/com.LEEADS-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.LEEADS-1, /vendor/lib, /system/lib]]
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2192)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2316)  
at android.app.ActivityThread.access$600(ActivityThread.java:150)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1298)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:213)
at android.app.ActivityThread.main(ActivityThread.java:5225)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:741)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: Didn't find class  "com.LEEADS.timestableseasy.Splashscreen" on path: DexPathList[[zip file "/data/app/com.LEEADS-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.LEEADS-1, /vendor/lib, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:53)
at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
at android.app.Instrumentation.newActivity(Instrumentation.java:1061)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2183)
... 11 more

Upvotes: 2

Views: 216

Answers (2)

Tapa Save
Tapa Save

Reputation: 4857

You use Proguard? Except from obfuscation all method's name that you call in invoke()

For example add to proguard.cfg:

-keep class com.mypackagename.myActivity {
   public static void myMethod( boolean, java.lang.String);
}

You must correct insert all parameters in method

Upvotes: 1

Booger
Booger

Reputation: 18725

FYI, an APK will act the same coming from teh Play store as if you deployed directly from your IDE or computer.

The Play store doesn't modify, add, or remove anything from your packaged app (APK). In other words, the APK downloaded from the Play store is identical to the one you uploaded from your computer.

Having said that, I think you have not exported your libraries with you APK. Looks like you have a library with LEEADS in it.

To fix this: 1. Right click on your project 2. Click 'Properties' 3. Click 'Java Build Path' 4. Select 'Order and Export' Tab 5. Make sure there is a check-mark next to 'Android Private Libraries'

Upvotes: 0

Related Questions