1.在eclipse上运行编译真机可以正常运行,但是放到android系统目录下编译成功,但是一运行就会闪退,报错log如下:
08-09 21:45:09.381 2879-3697/com.digital.ui E/art: JNI DETECTED ERROR IN APPLICATION: JNI GetStaticMethodID called with pending exception java.lang.NoSuchMethodError: no static method "Lmapsdkvi/com/gdi/bgl/android/java/EnvDrawText;.drawText(Ljava/lang/String;II[IIIIII)[I"
08-09 21:45:09.381 2879-3697/com.digital.ui E/art: at void com.baidu.mapsdkplatform.comapi.map.MapRenderer.nativeInit(long) (Unknown:-2)
08-09 21:45:09.381 2879-3697/com.digital.ui E/art: at void com.baidu.mapsdkplatform.comapi.map.MapRenderer.onSurfaceCreated(javax.microedition.khronos.opengles.GL10, javax.microedition.khronos.egl.EGLConfig) (Unknown:-1)
08-09 21:45:09.381 2879-3697/com.digital.ui E/art: at void android.opengl.GLSurfaceView$GLThread.guardedRun() (GLSurfaceView.java:1567)
08-09 21:45:09.381 2879-3697/com.digital.ui E/art: at void android.opengl.GLSurfaceView$GLThread.run() (GLSurfaceView.java:1299)
08-09 21:45:09.382 2879-3697/com.digital.ui E/art: in call to GetStaticMethodID
08-09 21:45:09.382 2879-3697/com.digital.ui E/art: from void com.baidu.mapsdkplatform.comapi.map.MapRenderer.nativeInit(long)
08-09 21:45:09.382 2879-3697/com.digital.ui E/art: "GLThread 159" prio=5 tid=17 Runnable
08-09 21:45:09.382 2879-3697/com.digital.ui E/art: | group="main" sCount=0 dsCount=0 obj=0x12f2f0e0 self=0x6fc1321200
08-09 21:45:09.382 2879-3697/com.digital.ui E/art: | sysTid=3697 nice=0 cgrp=default sched=0/0 handle=0x6fc07ff450
08-09 21:45:09.382 2879-3697/com.digital.ui E/art: | state=R schedstat=( 7862924 20843074 16 ) utm=0 stm=0 core=2 HZ=100
08-09 21:45:09.382 2879-3697/com.digital.ui E/art: | stack=0x6fc06fd000-0x6fc06ff000 stackSize=1037KB
08-09 21:45:09.382 2879-3697/com.digital.ui E/art: | held mutexes= "mutator lock"(shared held)
08-09 21:45:09.382 2879-3697/com.digital.ui E/art: native: #00 pc 000000000047c2a8 /system/lib64/libart.so (_ZN3art15DumpNativeStackERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEEiP12BacktraceMapPKcPNS_9ArtMethodEPv+220)
08-09 21:45:09.382 2879-3697/com.digital.ui E/art: native: #01 pc 000000000047c2a4 /system/lib64/libart.so (_ZN3art15DumpNativeStackERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEEiP12BacktraceMapPKcPNS_9ArtMethodEPv+216)
08-09 21:45:09.382 2879-3697/com.digital.ui E/art: native: #02 pc 000000000045051c /system/lib64/libart.so (_ZNK3art6Thread9DumpStackERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEEbP12BacktraceMap+944)
08-09 21:45:09.382 2879-3697/com.digital.ui E/art: native: #03 pc 00000000002ee0a4 /system/lib64/libart.so (_ZN3art9JavaVMExt8JniAbortEPKcS2_+1560)
08-09 21:45:09.382 2879-3697/com.digital.ui E/art: native: #04 pc 00000000002ef68c /system/lib64/libart.so (_ZN3art9JavaVMExt9JniAbortVEPKcS2_St9__va_list+124)
08-09 21:45:09.382 2879-3697/com.digital.ui E/art: native: #05 pc 0000000000102114 /system/lib64/libart.so (_ZN3art11ScopedCheck6AbortFEPKcz+156)
08-09 21:45:09.382 2879-3697/com.digital.ui E/art: native: #06 pc 0000000000101b24 /system/lib64/libart.so (_ZN3art11ScopedCheck11CheckThreadEP7_JNIEnv+536)
08-09 21:45:09.382 2879-3697/com.digital.ui E/art: native: #07 pc 00000000000ff664 /system/lib64/libart.so (_ZN3art11ScopedCheck5CheckERNS_18ScopedObjectAccessEbPKcPNS_12JniValueTypeE+1124)
08-09 21:45:09.382 2879-3697/com.digital.ui E/art: native: #08 pc 0000000000103e90 /system/lib64/libart.so (_ZN3art8CheckJNI19GetMethodIDInternalEPKcP7_JNIEnvP7_jclassS2_S2_b+652)
08-09 21:45:09.382 2879-3697/com.digital.ui E/art: native: #09 pc 000000000018ccd0 /system/priv-app/Digital_PTT/lib/arm64/libBaiduMapSDK_map_v5_1_0.so (???)
08-09 21:45:09.383 2879-3697/com.digital.ui E/art: native: #10 pc 00000000000db890 /system/lib64/libart.so (art_quick_generic_jni_trampoline+144)
08-09 21:45:09.383 2879-3697/com.digital.ui E/art: native: #11 pc 00000000000d2568 /system/lib64/libart.so (art_quick_invoke_static_stub+600)
08-09 21:45:09.386 2879-3697/com.digital.ui E/art: native: #12 pc 00000000000defac /system/lib64/libart.so (_ZN3art9ArtMethod6InvokeEPNS_6ThreadEPjjPNS_6JValueEPKc+256)
08-09 21:45:09.386 2879-3697/com.digital.ui E/art: native: #13 pc 000000000028e2cc /system/lib64/libart.so (_ZN3art11interpreter34ArtInterpreterToCompiledCodeBridgeEPNS_6ThreadEPNS_9ArtMethodEPKNS_7DexFile8CodeItemEPNS_11ShadowFrameEPNS_6JValueE+312)
08-09 21:45:09.386 2879-3697/com.digital.ui E/art: native: #14 pc 00000000002872b8 /system/lib64/libart.so (_ZN3art11interpreter6DoCallILb0ELb0EEEbPNS_9ArtMethodEPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+596)
08-09 21:45:09.386 2879-3697/com.digital.ui E/art: native: #15 pc 0000000000558730 /system/lib64/libart.so (MterpInvokeStatic+356)
08-09 21:45:09.386 2879-3697/com.digital.ui E/art: native: #16 pc 00000000000c4e14 /system/lib64/libart.so (ExecuteMterpImpl+14612)
08-09 21:45:09.386 2879-3697/com.digital.ui E/art: at com.baidu.mapsdkplatform.comapi.map.MapRenderer.nativeInit(Native method)
08-09 21:45:09.386 2879-3697/com.digital.ui E/art: at com.baidu.mapsdkplatform.comapi.map.MapRenderer.onSurfaceCreated(Unknown:-1)
08-09 21:45:09.386 2879-3697/com.digital.ui E/art: at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1567)
08-09 21:45:09.386 2879-3697/com.digital.ui E/art: at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1299)
08-09 21:45:09.519 3753-3753/? E/AEE/manual_coredump: start manual coredump
解决方法:没有加混淆导致的 运行崩溃
网上找了一些资料 都没解决问题 ,加了以下的混淆脚本 不起作用
混淆脚本
-keep class com.baidu.** {*;}
-keep class vi.com.** {*;}
-dontwarn com.baidu.**
后来实在没招了 解压了 BaiduLBS_Android.jar,多了一个 mapsdkvi 开头的包 ,试一把 居然成功了
最后脚本如下
-libraryjars libs/BaiduLBS_Android.jar
-keep class com.baidu.** {*;}
-keep class mapsdkvi.com.** {*;}
-keep class vi.com.gdi.bgl.android.**{*;}
-dontwarn com.baidu.**
-dontwarn vi.com.**
-dontwarn pvi.com.**
运行结果如下