最近AndroidStudio總是提示有最新穩(wěn)定版本2.3.3可供下載,大半年時間過去了,最后還是忍不住點(diǎn)了更新,更新完AS后,提示更新對應(yīng)的gradle版本3.3版本及gradle classpath:2.3.3;但是都采用最新版本后,發(fā)現(xiàn)原本之前好好的項目,在運(yùn)行debug版本時總是提示錯誤,而直接打包成release版本則不會報錯
報的錯如下:
java.lang.RuntimeException: Unable to instantiate application com.ztph.mall.ZTPHApplication: java.lang.ClassNotFoundException: Didn't find class "com.ztph.mall.ZTPHApplication" on path: DexPathList[[zip file "/data/app/com.ztph.mall-1/base.apk"],nativeLibraryDirectories=[/data/app/com.ztph.mall-1/lib/arm64, /data/app/com.ztph.mall-1/base.apk!/lib/arm64-v8a, /vendor/lib64, /system/lib64]]
at android.app.LoadedApk.makeApplication(LoadedApk.java:591)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4937)
at android.app.ActivityThread.access$1700(ActivityThread.java:180)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1555)
at android.os.Handler.dispatchMessage(Handler.java:111)
at android.os.Looper.loop(Looper.java:207)
at android.app.ActivityThread.main(ActivityThread.java:5791)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:901)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:762)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.ztph.mall.ZTPHApplication" on path: DexPathList[[zip file "/data/app/com.ztph.mall-1/base.apk"],nativeLibraryDirectories=[/data/app/com.ztph.mall-1/lib/arm64, /data/app/com.ztph.mall-1/base.apk!/lib/arm64-v8a, /vendor/lib64, /system/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
at android.app.Instrumentation.newApplication(Instrumentation.java:986)
at android.app.LoadedApk.makeApplication(LoadedApk.java:586)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4937)
at android.app.ActivityThread.access$1700(ActivityThread.java:180)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1555)
at android.os.Handler.dispatchMessage(Handler.java:111)
at android.os.Looper.loop(Looper.java:207)
at android.app.ActivityThread.main(ActivityThread.java:5791)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:901)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:762)
Suppressed: java.lang.ClassNotFoundException: com.ztph.mall.ZTPHApplication
at java.lang.Class.classForName(Native Method)
at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
... 12 more
Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available
當(dāng)時很奇怪,由于項目導(dǎo)入了第三方so庫,還以為是庫的原因,然后從git上又把項目clone一遍,采用之前沒問題的代碼節(jié)點(diǎn)進(jìn)行編譯打包,還是報錯,接著就網(wǎng)上下載舊版本的AndroidStudio、網(wǎng)上找相同報錯的原因........等等一系列折騰,問題還是得不到最終的解決。
折騰了一天后,最后靈機(jī)一動,改成舊版本的gradle:
修改如下:
根目錄下的build.gradle修改為:
dependencies {
classpath 'com.android.tools.build:gradle:2.2.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
gradle文件目錄下的gradle-wrapper.properties修改:
distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip
修改gradle版本后,開始打包運(yùn)行,這下再也沒報這個錯誤了,問題完美解決。我只想說原來都是gradle打包的問題。。。。。哎??