Reputation: 591
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
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
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