我的自己写的安卓APK ,新版本比着老版本,新版本多了百度云推送以及相关JAR包,新版本同时也用到了photo_library库,发布新版本。
在安装新版本的时候:
如果把老版本卸载掉,然后再安装新版本,就不会有任何问题,新版本会运行良好。
但是如果不卸载老版本,直接安装新版本,是覆盖安装的方式安装新版本,结果打开新版本APK的时候,直接异常崩溃。
按照Logcat打印的异常信息看来是因为有一些类找不到。
我猜想肯定是覆盖安装的时候,新版本中的比老版本多出来的一些Jar包没有安装到手机上,
不知道是不是这个原因呢?还是另有隐情?
究竟该怎么解决呢?
总不能让所有安装我老版本的人把老版本卸载掉,再重新安装新版本吧?
新版本和老版本的签名是一致的。
拜求大神赐予解决方案!!!
打开新版本报出来的异常信息如下:
07-25 19:06:48.139: E/ActivityManager(174): exception bw.write()java.io.IOException: Transport endpoint is not connected
07-25 19:06:48.139: E/AndroidRuntime(22126): FATAL EXCEPTION: main
07-25 19:06:48.139: E/AndroidRuntime(22126): java.lang.RuntimeException: Unable to instantiate application com.qianyanshangwu.qianyanlife.QYLifeApplication:
java.lang.ClassNotFoundException: com.qianyanshangwu.qianyanlife.QYLifeApplication in loader dalvik.system.PathClassLoader[/system/framework/android.test.runner.jar:/data/app/com.qianyanshangwu.qianyanlife-2.apk]
07-25 19:06:48.139: E/AndroidRuntime(22126): at android.app.LoadedApk.makeApplication(LoadedApk.java:466)
07-25 19:06:48.139: E/AndroidRuntime(22126): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:3260)
07-25 19:06:48.139: E/AndroidRuntime(22126): at android.app.ActivityThread.access$2200(ActivityThread.java:117)
07-25 19:06:48.139: E/AndroidRuntime(22126): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:969)
07-25 19:06:48.139: E/AndroidRuntime(22126): at android.os.Handler.dispatchMessage(Handler.java:99)
07-25 19:06:48.139: E/AndroidRuntime(22126): at android.os.Looper.loop(Looper.java:130)
07-25 19:06:48.139: E/AndroidRuntime(22126): at android.app.ActivityThread.main(ActivityThread.java:3683)
07-25 19:06:48.139: E/AndroidRuntime(22126): at java.lang.reflect.Method.invokeNative(Native Method)
07-25 19:06:48.139: E/AndroidRuntime(22126): at java.lang.reflect.Method.invoke(Method.java:507)
07-25 19:06:48.139: E/AndroidRuntime(22126): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:878)
07-25 19:06:48.139: E/AndroidRuntime(22126): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:636)
07-25 19:06:48.139: E/AndroidRuntime(22126): at dalvik.system.NativeStart.main(Native Method)
07-25 19:06:48.139: E/AndroidRuntime(22126): Caused by: java.lang.ClassNotFoundException:
com.qianyanshangwu.qianyanlife.QYLifeApplication in loader dalvik.system.PathClassLoader[/system/framework/android.test.runner.jar:/data/app/com.qianyanshangwu.qianyanlife-2.apk]
07-25 19:06:48.139: E/AndroidRuntime(22126): at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240)
07-25 19:06:48.139: E/AndroidRuntime(22126): at java.lang.ClassLoader.loadClass(ClassLoader.java:551)
07-25 19:06:48.139: E/AndroidRuntime(22126): at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
07-25 19:06:48.139: E/AndroidRuntime(22126): at android.app.Instrumentation.newApplication(Instrumentation.java:942)
07-25 19:06:48.139: E/AndroidRuntime(22126): at android.app.LoadedApk.makeApplication(LoadedApk.java:461)
07-25 19:06:48.139: E/AndroidRuntime(22126): ... 11 more
------解决方案--------------------
如果签名没有问题的话。那就有可能是数据问题,比如sharedpreferences之类的