android 解析错误 真机,AndroidStudio使用真机调试时出的一些bug
文章目錄
說明
高德地圖報錯 - 錯誤代碼7, key錯誤
OPPO/VIVO手機安裝時包解析錯誤
說明
此處記錄一些這種情況的bug : 在用正式簽名打包上線使用的時候沒問題, 但是使用USB安裝調(diào)試的時候會有的bug .
高德地圖報錯 - 錯誤代碼7, key錯誤
場景 : 使用AndroidStudio開發(fā),項目不是新建的項目,是已經(jīng)迭代好幾個版本的, 之前地圖是可以正常使用的 , 換電腦后出現(xiàn)的這個bug
解決 :
報key錯誤 , 首先要去高德地圖的控制臺看一下申請key的時候 , 包名等配置是否正確,然后對照項目里寫的key是否和控制臺顯示的一樣。
對照完畢,包名和key項目里和控制臺都一致,并且是之前在項目里可以正常使用的,現(xiàn)在使用正式簽名打包以后安裝在手機也可以正常使用,經(jīng)過測試發(fā)現(xiàn)只是在真機上使用USB方式安裝上的會報key錯誤
則,檢查高德地圖控制臺里此包名配置的debug版sha1值是否正確,可以在電腦上重新看一下sha1值對照一下
然后發(fā)現(xiàn)了debug簽名的sha1值不一致, 修改, 完成, 報錯消失.
最終原因:因為換了電腦,debug簽名每個電腦是不一樣的,所以更換電腦后為了可以正常使用usb調(diào)試 (正常使用debug簽名調(diào)試), 需要更新一下第三方包里的debug簽名相關(guān)的東西, 比如debug簽名的sha1值等 .
OPPO/VIVO手機安裝時包解析錯誤
場景 : 依然是打包出來的apk可以在每個手機上安裝和使用, 但是使用USB直接在手機上安裝時, 別的手機都正常, 只有OPPO和VIVO可以安裝上但是不可以使用, 一打開就閃退, 手機提示"包解析錯誤", 控制臺報如下錯誤 :
java.lang.RuntimeException: Unable to instantiate application com.yunli.ylclient.MyApplication: java.lang.ClassNotFoundException: Didn't find class "com.yunli.ylclient.MyApplication" on path: DexPathList[[zip file "/data/app/com.yunli.ylclient-2/base.apk"],nativeLibraryDirectories=[/data/app/com.yunli.ylclient-2/lib/arm, /data/app/com.yunli.ylclient-2/base.apk!/lib/armeabi-v7a, /system/lib, /vendor/lib]]
at android.app.LoadedApk.makeApplication(LoadedApk.java:853)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5748)
at android.app.ActivityThread.-wrap2(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1716)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:185)
at android.app.ActivityThread.main(ActivityThread.java:6615)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:916)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:806)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.yunli.ylclient.MyApplication" on path: DexPathList[[zip file "/data/app/com.yunli.ylclient-2/base.apk"],nativeLibraryDirectories=[/data/app/com.yunli.ylclient-2/lib/arm, /data/app/com.yunli.ylclient-2/base.apk!/lib/armeabi-v7a, /system/lib, /vendor/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:380)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at android.app.Instrumentation.newApplication(Instrumentation.java:993)
at android.app.LoadedApk.makeApplication(LoadedApk.java:847)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5748)
at android.app.ActivityThread.-wrap2(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1716)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:185)
at android.app.ActivityThread.main(ActivityThread.java:6615)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:916)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:806)
解決辦法 :
在 Preferences ---> Build, Execution, Deployment ---> Instance Run中 , 把 Enable Instant Run to hot swap code/resource changes on deploy (default enable)的對勾去掉
在項目的 gradle.properties中 , 加上 : android.injected.testOnly=false
重啟 , 運行 , 完成 .
總結(jié)
以上是生活随笔為你收集整理的android 解析错误 真机,AndroidStudio使用真机调试时出的一些bug的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 不怕商家跑路 支付宝:芝麻信用正式推出“
- 下一篇: Linux中重定向及管道,Linux中重