Ich versuche eine Release-APK meines Android-Projekts mit Proguard zu erstellen. Ich erhalte die folgende Warnung, wenn ich versuche, die unterzeichnet apk zu generieren:Skobbler MapRenderer Warnung ProGuard
Ich verwende Skobbler SDK 2.5.1 und Android SDK 23. Kompilierung Version
Es scheint, dass das Problem ist, aufgrund die Klasse FloathMath, die jetzt veraltet ist.
Vielen Dank im Voraus!
(UPDATE1):
Build fingerprint: 'Xiaomi/cancro/cancro:6.0.1/MMB29M/6.3.17:user/release-keys'
Revision: '0'
ABI: 'arm'
pid: 32188, tid: 32188, name: sal.bisite.example>>> es.usal.bisite.example<<<
signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
Abort message: 'art/runtime/java_vm_ext.cc:410] JNI DETECTED ERROR IN APPLICATION: JNI NewGlobalRef called with pending exception java.lang.ClassNotFoundException: Didn't find class "com.skobbler.ngx.navigation.SKCrossingDescriptor" on path: DexPathList[[zip file "/data/app/es.usal.bisite.example-1/base.apk"],nativeLibraryDirectories=[/data/app/es.usal.bisite.example-1/lib/arm, /data/app/es.usal.bisite.example-1/base.apk!/lib/armeabi-v7a, /vendor/lib, /system/lib]]'
r0 00000000 r1 00007dbc r2 00000006 r3 b6f3bb7c
r4 b6f3bb84 r5 b6f3bb34 r6 0000000b r7 0000010c
r8 b4abf378 r9 b4c6a800 sl 00000001 fp 00000001
ip 00000006 sp be84fe68 lr b6ca0c51 pc b6ca3040 cpsr 40070010
backtrace:
#00 pc 00042040 /system/lib/libc.so (tgkill+12)
#01 pc 0003fc4d /system/lib/libc.so (pthread_kill+32)
#02 pc 0001c3fb /system/lib/libc.so (raise+10)
#03 pc 000195ad /system/lib/libc.so (__libc_android_abort+34)
#04 pc 00017500 /system/lib/libc.so (abort+4)
#05 pc 003339f9 /system/lib/libart.so (art::Runtime::Abort()+228)
#06 pc 000f460b /system/lib/libart.so (art::LogMessage::~LogMessage()+2226)
#07 pc 0025aa5f /system/lib/libart.so (art::JavaVMExt::JniAbort(char const*, char const*)+1550)
#08 pc 0025ae0d /system/lib/libart.so (art::JavaVMExt::JniAbortV(char const*, char const*, std::__va_list)+64)
#09 pc 000fd1e1 /system/lib/libart.so (art::ScopedCheck::AbortF(char const*, ...)+32)
#10 pc 001022f5 /system/lib/libart.so (art::ScopedCheck::Check(art::ScopedObjectAccess&, bool, char const*, art::JniValueType*) (.constprop.95)+5072)
#11 pc 001146e1 /system/lib/libart.so (art::CheckJNI::NewGlobalRef(_JNIEnv*, _jobject*)+392)
#12 pc 000fb13b /data/app/es.usal.bisite.example-1/lib/arm/libngnative.so (JniNG::JniNG(_JavaVM*, _JNIEnv*&)+554)
#13 pc 000e1d6f /data/app/es.usal.bisite.example-1/lib/arm/libngnative.so (JNI_OnLoad+58)
#14 pc 0025b397 /system/lib/libart.so (art::JavaVMExt::LoadNativeLibrary(_JNIEnv*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, _jobject*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*)+1238)
#15 pc 002d145f /system/lib/libart.so (art::Runtime_nativeLoad(_JNIEnv*, _jclass*, _jstring*, _jobject*, _jstring*)+194)
#16 pc 739f427d /data/dalvik-cache/arm/[email protected]@boot.oat (offset 0x235e000)
(UPDATE2) Ich löse das diese proguard Regel hinzufügen:
#SKOBBLER
-keep class com.skobbler.** { *; }
Können Sie mir einige spezifische Regeln sagen?
Vielen Dank im Voraus!
es, jetzt funktioniert es und die Warnung ist verschwunden. Aber jetzt zur Laufzeit habe ich folgendes Problem: ** (UPDATE 1) ** –
Ist das Problem immer noch vorhanden? – SylviA
Ich löse es und füge eine Proguard-Regel hinzu: ** (UPDATE 2) ** –