当前位置: 代码迷 >> Android >> 小弟我的安卓APK 版本升级的时候,覆盖安装导致新版本崩溃,请教是什么原因呢
  详细解决方案

小弟我的安卓APK 版本升级的时候,覆盖安装导致新版本崩溃,请教是什么原因呢

热度:102   发布时间:2016-04-28 04:31:20.0
我的安卓APK 版本升级的时候,覆盖安装导致新版本崩溃,请问是什么原因呢?
本帖最后由 zhanzkw 于 2014-07-25 19:08:31 编辑
我的自己写的安卓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之类的
  相关解决方案