本来好好的一个项目,都使用好久了的,结果在我加入讯飞语音识别功能,一切准备就绪,就差上机运行的时候,安装完apk之后突然闪退。。。一俩懵逼啊我,我确定我的代码都是非常完美的啊,并且该添加的权限啊,jar包啊啥的,该有的都有了啊,为啥还会闪退啊。
尤其是当我看到错误提示的时候也一脸懵逼
Rejecting re-init on previously-failed class java.lang.Class
-
I
/art
(
19482
)
: Rejecting re
-init on previously
-failed
class java.
lang.
Class
<
***.***
.
MainActivity
>
-
I
/art
(
19482
)
: Rejecting re
-init on previously
-failed
class java.
lang.
Class
<
***.***
.
MainActivity
>
-
I
/art
(
19482
)
: Rejecting re
-init on previously
-failed
class java.
lang.
Class
<
***.***
.
MainActivity
>
-
E
/AndroidRuntime
(
19482
)
: FATAL EXCEPTION
:
main
-
E
/AndroidRuntime
(
19482
)
: java.
lang.
RuntimeException
: Unable to instantiate activity ComponentInfo
{***.***.
MainActivity
}
-
E/AndroidRuntime(19482): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2322)
-
E/AndroidRuntime(19482): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2474)
-
E/AndroidRuntime(19482): at android.app.ActivityThread.access$800(ActivityThread.java:144)
-
E/AndroidRuntime(19482): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1359)
-
E/AndroidRuntime(19482): at android.os.Handler.dispatchMessage(Handler.java:102)
-
E/AndroidRuntime(19482): at android.os.Looper.loop(Looper.java:155)
-
E/AndroidRuntime(19482): at android.app.ActivityThread.main(ActivityThread.java:5696)
-
E/AndroidRuntime(19482): at java.lang.reflect.Method.invoke(Native Method)
-
E/AndroidRuntime(19482): at java.lang.reflect.Method.invoke(Method.java:372)
-
E/AndroidRuntime(19482): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1028)
-
E/AndroidRuntime(19482): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823)
初一看,很晕啊,显示的错误行,在我看来是完全不应该出现错误的地方。百度了许多,也有类似的错误的,大致修改方式差不多的意思,就是:导入的jar包,此处特指:support-v4和support-v7这两个包存在问题。于是我多次尝试,删除,添加,试了好几次都无果。最后看到一篇文章错误跟我的格式基本一样,此处添加链接:http://ntsoft.blog.163.com/blog/static/1163539201621351638707/
按照作者的方法尝试了一下,找到我的项目里面的libs文件夹下面的support-v4.jar包,删除,同时把v7.jar包也删除(因为我的项目依赖的有一个独立的android-support-v7-appcompat包),不知道为啥,之前删除过多次都没成功,但是这次删除之后,没有提示错误,而是在项目右上角出现感叹号,熟悉的人都知道,应该马上进入java build path栏目,发现两个原来有的jar包缺失,直接选中这两个remove掉,再clean一下项目,竟然没有错。再次在手机上运行,这次竟然成功了。虽然改对了,但是还是有些不是很清楚,但感觉应该是依赖方面重复了,导致冲突所致,依赖的东西不要认为越多越好,以后在这方面应该做到更清晰,简洁,避免这种错误。