Ich benutze QuickBlox API, um eine Videokonferenzlösung über eine Android-Anwendung zu bauen. Es wird beobachtet, dass VC gut funktioniert, wenn apk im Debug-Modus erzeugt wird, aber nachdem es im Freigabemodus erzeugt wurde, schlägt es fehl. Ich habe Änderungen an den Regeln gemacht und auch minifyEnabled = true/false umgeschaltet, aber nichts half. HierQuickBlox Video Chat stürzt nach dem Erstellen von apk im Freigabemodus
ist die App build.gradle Datei:
buildscript {
repositories {
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
classpath 'io.fabric.tools:gradle:1.+'
}
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
android {
compileSdkVersion 23
buildToolsVersion "23.0.3"
packagingOptions {
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
}
defaultConfig {
applicationId "XX.YYYYY"
minSdkVersion 17
targetSdkVersion 23
versionCode 1
versionName "1.0"
multiDexEnabled = true
}
buildTypes {
release {
minifyEnabled true
shrinkResources false
debuggable true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
debuggable true
minifyEnabled false
shrinkResources false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
dexOptions {
incremental true
preDexLibraries true
javaMaxHeapSize "2g"
}
}
repositories {
mavenCentral()
maven { url "https://github.com/QuickBlox/quickblox-android-sdk-releases/raw/master/" }
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile files('libs/commons-codec-1.9.jar')
compile files('libs/httpmime-4.2.1.jar')
compile('com.crashlytics.sdk.android:crashlytics:[email protected]') {
transitive = true;
}
compile("com.quickblox:quickblox-android-sdk-chat:[email protected]") {
transitive = true
}
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.android.support:design:23.4.0'
compile 'com.android.support:cardview-v7:23.4.0'
compile 'com.google.android.gms:play-services-gcm:8.4.0'
compile 'com.google.android.gms:play-services-auth:8.4.0'
compile 'com.google.android.gms:play-services-ads:8.4.0'
compile 'com.android.support:recyclerview-v7:23.4.0'
compile 'com.makeramen:roundedimageview:2.2.1'
compile 'commons-validator:commons-validator:1.4.0'
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'com.sothree.slidinguppanel:library:3.3.0'
compile 'com.quickblox:quickblox-android-sdk-core:[email protected]'
compile 'com.quickblox:quickblox-android-sdk-videochat-webrtc:[email protected]'
compile 'com.astuetz:pagerslidingtabstrip:[email protected]'
compile 'com.android.support:support-v4:23.4.0'
}
apply plugin: 'com.google.gms.google-services'
und hier ist ein Auszug aus proguard Datei
#----quickblox-------------------
-keep class org.jivesoftware.smack.** { *; }
-keep class com.quickblox.** { *; }
-keep class * extends org.jivesoftware.smack { public *; }
-keep class org.jivesoftware.smack.** { public *; }
-keep class org.jivesoftware.smackx.** { public *; }
-keep class com.quickblox.** { public *; }
-keep class * extends org.jivesoftware.smack { public *; }
-keep class * implements org.jivesoftware.smack.debugger.SmackDebugger { public *; }
-dontwarn com.quickblox.**
-dontwarn org.jivesoftware.**
Ich habe bereits einige Antworten sah aber die hat mir nicht geholfen.
unten ist das Fehlerprotokoll zum Zeitpunkt der Einleitung des Videoanrufs:
> 07-05 00:57:30.216 13043-13043/XX.XX E/MediaPlayer: Should have
> subtitle controller already set 07-05 00:57:48.586 13043-20239/XX.XX
> E/rtc: #
> # Fatal error in ../../talk/app/webrtc/java/jni/classreferenceholder.cc, line 132
> # Check failed: !jni->ExceptionCheck()
> # error during FindClass: org/webrtc/VideoCapturerAndroid$NativeObserver
> # 07-05 00:57:48.591 13043-20239/XX.XXXX A/libc: Fatal signal 6 (SIGABRT), code -6 in tid
> 20239 (Thread-6176) 07-05 00:57:52.081 20288-20288/XX.XXXX
> E/MotionRecognitionManager: mSContextService = null 07-05 00:57:52.081
> 20288-20288/XX.XXXX E/MotionRecognitionManager: motionService =
> [email protected]6d9d290
Bitte überprüfen Sie die Bearbeitung oben. Fehlerprotokoll hinzugefügt – Ranjan
Siehe Thread: https://github.com/QuickBlox/quickblox-android-sdk/issues/161 – vfite
Fügen Sie auch --keep Annotation für org.webrtc. * Paket – vfite