Agora-Flutter-SDK icon indicating copy to clipboard operation
Agora-Flutter-SDK copied to clipboard

安卓上当 App 退出后,前台服务并没有关闭干净

Open No06 opened this issue 7 months ago • 6 comments

Version of the agora_rtc_engine

6.3.0

Platforms affected

  • [x] Android
  • [ ] iOS
  • [ ] macOS
  • [ ] Windows
  • [ ] Web

Steps to reproduce

  1. 加入频道,并确保前台服务启动
  2. 退出 app,再次打开 app 会立马显示正在使用麦克风,并且无法加入频道,报错AgoraRtcException(-17, null)
  3. 关闭 app,然后再次打开,包括之后都正常

Expected results

不会提示正在使用麦克风,并可以正常加入频道

Actual results

打开会显示正在使用麦克风,无法加入频道,并报错AgoraRtcException(-17, null)

Code sample

你们的示例 https://github.com/AgoraIO-Extensions/Agora-Flutter-SDK/tree/main/example 这个示例的代码对于目前的 Flutter 有点陈旧,需要更新一下一些文件

android\build.gradle
allprojects {
    repositories {
        google()
        mavenCentral()
    }
}

rootProject.buildDir = '../build'
subprojects {
    project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
    project.evaluationDependsOn(':app')
}

tasks.register("clean", Delete) {
    delete rootProject.buildDir
}
android\settings.gradle
pluginManagement {
    def flutterSdkPath = {
        def properties = new Properties()
        file("local.properties").withInputStream { properties.load(it) }
        def flutterSdkPath = properties.getProperty("flutter.sdk")
        assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
        return flutterSdkPath
    }()

    includeBuild("$flutterSdkPath/packages/flutter_tools/gradle")

    repositories {
        google()
        mavenCentral()
        gradlePluginPortal()
    }
}

plugins {
    id "dev.flutter.flutter-plugin-loader" version "1.0.0" // apply true
    id "com.android.application" version "8.7.0" apply false
    id "org.jetbrains.kotlin.android" version "1.9.10" apply false
}

include ":app"
android\app\build.gradle
plugins {
    id "com.android.application"
    id "kotlin-android"
    id "dev.flutter.flutter-gradle-plugin"
}

def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
    localPropertiesFile.withReader('UTF-8') { reader ->
        localProperties.load(reader)
    }
}

def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
    flutterVersionCode = '1'
}

def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
    flutterVersionName = '1.0'
}

android {
    namespace "io.agora.agora_rtc_ng_example"
    
    compileSdk = 35
    // compileSdkVersion 34

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    kotlinOptions {
        jvmTarget = '1.8'
    }

    sourceSets {
        main.java.srcDirs += 'src/main/kotlin'
    }

    defaultConfig {
        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
        applicationId "io.agora.agora_rtc_ng_example"
        minSdkVersion 21
        targetSdkVersion flutter.targetSdkVersion
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
    }

    buildTypes {
        release {
            // TODO: Add your own signing config for the release build.
            // Signing with the debug keys for now, so `flutter run --release` works.
            signingConfig signingConfigs.debug
        }
    }
}

flutter {
    source '../..'
}

dependencies {
    def devFile = project.file("${rootProject.projectDir.getParentFile().parentFile}/android/.plugin_dev")
    if (devFile.exists()) {
        implementation fileTree(dir: "${rootProject.projectDir.getParentFile().parentFile}/android/libs", include: ["*.aar"])
    }
}

Screenshots or Video

Screenshots / Video demonstration

https://github.com/user-attachments/assets/09a4055b-b390-4cbd-9854-9ad1506caaea

Logs

Logs
Flutter assets will be downloaded from https://storage.flutter-io.cn. Make sure you trust this source!
Launching lib\main.dart on sdk gphone64 x86 64 in debug mode...
2
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8
Flutter assets will be downloaded from https://storage.flutter-io.cn. Make sure you trust this source!
√ Built build\app\outputs\flutter-apk\app-debug.apk
Error: ADB exited with exit code 1
Performing Streamed Install

adb: failed to install F:\icraf\Desktop\Agora-Flutter-SDK-main\example\build\app\outputs\flutter-apk\app-debug.apk: Failure [INSTALL_FAILED_VERSION_DOWNGRADE: Downgrade detected: Update version code 1 is older than current 4001]
Uninstalling old version...
I/flutter (21889): [IMPORTANT:flutter/shell/platform/android/android_context_gl_impeller.cc(94)] Using the Impeller rendering backend (OpenGLES).
Connecting to VM Service at ws://127.0.0.1:14612/el0Wrwo9NlU=/ws
Connected to the VM Service.
I/Choreographer(21889): Skipped 79 frames!  The application may be doing too much work on its main thread.
I/_rtc_ng_example(21889): Compiler allocated 5106KB to compile void android.view.ViewRootImpl.performTraversals()
I/WindowExtensionsImpl(21889): Initializing Window Extensions, vendor API level=9, activity embedding enabled=true
W/HWUI    (21889): Failed to choose config with EGL_SWAP_BEHAVIOR_PRESERVED, retrying without...
W/HWUI    (21889): Failed to initialize 101010-2 format, error = EGL_SUCCESS
E/libEGL  (21889): called unimplemented OpenGL ES API
D/permissions_handler(21889): No permissions found in manifest for: []33
I/Choreographer(21889): Skipped 59 frames!  The application may be doing too much work on its main thread.
D/WindowLayoutComponentImpl(21889): Register WindowLayoutInfoListener on Context=io.agora.agora_rtc_ng_example.MainActivity@73b08af, of which baseContext=android.app.ContextImpl@c65efd
D/ProfileInstaller(21889): Installing profile for io.agora.agora_rtc_ng_example
E/libEGL  (21889): called unimplemented OpenGL ES API
D/InsetsController(21889): hide(ime(), fromIme=false)
I/ImeTracker(21889): io.agora.agora_rtc_ng_example:3e50575e: onCancelled at PHASE_CLIENT_ALREADY_HIDDEN
E/libEGL  (21889): called unimplemented OpenGL ES API
I/spdlog  (21889): [2025-05-07 10:00:20.135][21889][I][iris_logger.cc:157] reset logger to /agora-iris.log
I/spdlog  (21889): [2025-05-07 10:00:20.135][21889][I][iris_logger.cc:159] iris version: 4.5.2-build.1 commit: 4eee5cf6a97f30848b12b95873f7a3ba72e710cf build: 34812
D/nativeloader(21889): Load /data/app/~~uUGfo4I5iVwhbObQxSJ22A==/io.agora.agora_rtc_ng_example-xHqLnEK21iD6j_XF2cf_Cg==/lib/x86_64/libAgoraRtcWrapper.so using class loader ns clns-7 (caller=/data/app/~~uUGfo4I5iVwhbObQxSJ22A==/io.agora.agora_rtc_ng_example-xHqLnEK21iD6j_XF2cf_Cg==/base.apk!classes2.dex): ok
D/CompatChangeReporter(21889): Compat change id reported: 312399441; UID 10211; state: ENABLED
I/spdlog  (21889): [2025-05-07 10:00:20.166][21889][I][iris_logger.cc:157] reset logger to /storage/emulated/0/Android/data/io.agora.agora_rtc_ng_example/files/agora-iris.log
I/spdlog  (21889): [2025-05-07 10:00:20.166][21889][I][iris_logger.cc:159] iris version: 4.5.2-build.1 commit: 4eee5cf6a97f30848b12b95873f7a3ba72e710cf build: 34812
D/nativeloader(21889): Load /data/app/~~uUGfo4I5iVwhbObQxSJ22A==/io.agora.agora_rtc_ng_example-xHqLnEK21iD6j_XF2cf_Cg==/lib/x86_64/libaosl.so using class loader ns clns-7 (caller=/data/app/~~uUGfo4I5iVwhbObQxSJ22A==/io.agora.agora_rtc_ng_example-xHqLnEK21iD6j_XF2cf_Cg==/base.apk): ok
D/nativeloader(21889): Load /data/app/~~uUGfo4I5iVwhbObQxSJ22A==/io.agora.agora_rtc_ng_example-xHqLnEK21iD6j_XF2cf_Cg==/lib/x86_64/libagora-ffmpeg.so using class loader ns clns-7 (caller=/data/app/~~uUGfo4I5iVwhbObQxSJ22A==/io.agora.agora_rtc_ng_example-xHqLnEK21iD6j_XF2cf_Cg==/base.apk): ok
D/nativeloader(21889): Load /data/app/~~uUGfo4I5iVwhbObQxSJ22A==/io.agora.agora_rtc_ng_example-xHqLnEK21iD6j_XF2cf_Cg==/lib/x86_64/libagora-fdkaac.so using class loader ns clns-7 (caller=/data/app/~~uUGfo4I5iVwhbObQxSJ22A==/io.agora.agora_rtc_ng_example-xHqLnEK21iD6j_XF2cf_Cg==/base.apk): ok
D/nativeloader(21889): Load /data/app/~~uUGfo4I5iVwhbObQxSJ22A==/io.agora.agora_rtc_ng_example-xHqLnEK21iD6j_XF2cf_Cg==/lib/x86_64/libagora-soundtouch.so using class loader ns clns-7 (caller=/data/app/~~uUGfo4I5iVwhbObQxSJ22A==/io.agora.agora_rtc_ng_example-xHqLnEK21iD6j_XF2cf_Cg==/base.apk): ok
D/nativeloader(21889): Load /data/app/~~uUGfo4I5iVwhbObQxSJ22A==/io.agora.agora_rtc_ng_example-xHqLnEK21iD6j_XF2cf_Cg==/lib/x86_64/libagora-rtc-sdk.so using class loader ns clns-7 (caller=/data/app/~~uUGfo4I5iVwhbObQxSJ22A==/io.agora.agora_rtc_ng_example-xHqLnEK21iD6j_XF2cf_Cg==/base.apk): ok
D/nativeloader(21889): Load /data/app/~~uUGfo4I5iVwhbObQxSJ22A==/io.agora.agora_rtc_ng_example-xHqLnEK21iD6j_XF2cf_Cg==/lib/x86_64/libagora_ai_echo_cancellation_extension.so using class loader ns clns-7 (caller=/data/app/~~uUGfo4I5iVwhbObQxSJ22A==/io.agora.agora_rtc_ng_example-xHqLnEK21iD6j_XF2cf_Cg==/base.apk): ok
D/nativeloader(21889): Load /data/app/~~uUGfo4I5iVwhbObQxSJ22A==/io.agora.agora_rtc_ng_example-xHqLnEK21iD6j_XF2cf_Cg==/lib/x86_64/libagora_ai_echo_cancellation_ll_extension.so using class loader ns clns-7 (caller=/data/app/~~uUGfo4I5iVwhbObQxSJ22A==/io.agora.agora_rtc_ng_example-xHqLnEK21iD6j_XF2cf_Cg==/base.apk): ok
D/nativeloader(21889): Load /data/app/~~uUGfo4I5iVwhbObQxSJ22A==/io.agora.agora_rtc_ng_example-xHqLnEK21iD6j_XF2cf_Cg==/lib/x86_64/libagora_ai_noise_suppression_extension.so using class loader ns clns-7 (caller=/data/app/~~uUGfo4I5iVwhbObQxSJ22A==/io.agora.agora_rtc_ng_example-xHqLnEK21iD6j_XF2cf_Cg==/base.apk): ok
D/nativeloader(21889): Load /data/app/~~uUGfo4I5iVwhbObQxSJ22A==/io.agora.agora_rtc_ng_example-xHqLnEK21iD6j_XF2cf_Cg==/lib/x86_64/libagora_ai_noise_suppression_ll_extension.so using class loader ns clns-7 (caller=/data/app/~~uUGfo4I5iVwhbObQxSJ22A==/io.agora.agora_rtc_ng_example-xHqLnEK21iD6j_XF2cf_Cg==/base.apk): ok
D/nativeloader(21889): Load /data/app/~~uUGfo4I5iVwhbObQxSJ22A==/io.agora.agora_rtc_ng_example-xHqLnEK21iD6j_XF2cf_Cg==/lib/x86_64/libagora_audio_beauty_extension.so using class loader ns clns-7 (caller=/data/app/~~uUGfo4I5iVwhbObQxSJ22A==/io.agora.agora_rtc_ng_example-xHqLnEK21iD6j_XF2cf_Cg==/base.apk): ok
D/nativeloader(21889): Load /data/app/~~uUGfo4I5iVwhbObQxSJ22A==/io.agora.agora_rtc_ng_example-xHqLnEK21iD6j_XF2cf_Cg==/lib/x86_64/libagora_clear_vision_extension.so using class loader ns clns-7 (caller=/data/app/~~uUGfo4I5iVwhbObQxSJ22A==/io.agora.agora_rtc_ng_example-xHqLnEK21iD6j_XF2cf_Cg==/base.apk): ok
D/nativeloader(21889): Load /data/app/~~uUGfo4I5iVwhbObQxSJ22A==/io.agora.agora_rtc_ng_example-xHqLnEK21iD6j_XF2cf_Cg==/lib/x86_64/libagora_content_inspect_extension.so using class loader ns clns-7 (caller=/data/app/~~uUGfo4I5iVwhbObQxSJ22A==/io.agora.agora_rtc_ng_example-xHqLnEK21iD6j_XF2cf_Cg==/base.apk): ok
D/nativeloader(21889): Load /data/app/~~uUGfo4I5iVwhbObQxSJ22A==/io.agora.agora_rtc_ng_example-xHqLnEK21iD6j_XF2cf_Cg==/lib/x86_64/libagora_face_capture_extension.so using class loader ns clns-7 (caller=/data/app/~~uUGfo4I5iVwhbObQxSJ22A==/io.agora.agora_rtc_ng_example-xHqLnEK21iD6j_XF2cf_Cg==/base.apk): ok
D/nativeloader(21889): Load /data/app/~~uUGfo4I5iVwhbObQxSJ22A==/io.agora.agora_rtc_ng_example-xHqLnEK21iD6j_XF2cf_Cg==/lib/x86_64/libagora_face_detection_extension.so using class loader ns clns-7 (caller=/data/app/~~uUGfo4I5iVwhbObQxSJ22A==/io.agora.agora_rtc_ng_example-xHqLnEK21iD6j_XF2cf_Cg==/base.apk): ok
D/nativeloader(21889): Load /data/app/~~uUGfo4I5iVwhbObQxSJ22A==/io.agora.agora_rtc_ng_example-xHqLnEK21iD6j_XF2cf_Cg==/lib/x86_64/libagora_lip_sync_extension.so using class loader ns clns-7 (caller=/data/app/~~uUGfo4I5iVwhbObQxSJ22A==/io.agora.agora_rtc_ng_example-xHqLnEK21iD6j_XF2cf_Cg==/base.apk): ok
D/nativeloader(21889): Load /data/app/~~uUGfo4I5iVwhbObQxSJ22A==/io.agora.agora_rtc_ng_example-xHqLnEK21iD6j_XF2cf_Cg==/lib/x86_64/libagora_screen_capture_extension.so using class loader ns clns-7 (caller=/data/app/~~uUGfo4I5iVwhbObQxSJ22A==/io.agora.agora_rtc_ng_example-xHqLnEK21iD6j_XF2cf_Cg==/base.apk): ok
D/nativeloader(21889): Load /data/app/~~uUGfo4I5iVwhbObQxSJ22A==/io.agora.agora_rtc_ng_example-xHqLnEK21iD6j_XF2cf_Cg==/lib/x86_64/libagora_segmentation_extension.so using class loader ns clns-7 (caller=/data/app/~~uUGfo4I5iVwhbObQxSJ22A==/io.agora.agora_rtc_ng_example-xHqLnEK21iD6j_XF2cf_Cg==/base.apk): ok
D/nativeloader(21889): Load /data/app/~~uUGfo4I5iVwhbObQxSJ22A==/io.agora.agora_rtc_ng_example-xHqLnEK21iD6j_XF2cf_Cg==/lib/x86_64/libagora_spatial_audio_extension.so using class loader ns clns-7 (caller=/data/app/~~uUGfo4I5iVwhbObQxSJ22A==/io.agora.agora_rtc_ng_example-xHqLnEK21iD6j_XF2cf_Cg==/base.apk): ok
D/nativeloader(21889): Load /data/app/~~uUGfo4I5iVwhbObQxSJ22A==/io.agora.agora_rtc_ng_example-xHqLnEK21iD6j_XF2cf_Cg==/lib/x86_64/libagora_video_av1_decoder_extension.so using class loader ns clns-7 (caller=/data/app/~~uUGfo4I5iVwhbObQxSJ22A==/io.agora.agora_rtc_ng_example-xHqLnEK21iD6j_XF2cf_Cg==/base.apk): ok
D/nativeloader(21889): Load /data/app/~~uUGfo4I5iVwhbObQxSJ22A==/io.agora.agora_rtc_ng_example-xHqLnEK21iD6j_XF2cf_Cg==/lib/x86_64/libagora_video_av1_encoder_extension.so using class loader ns clns-7 (caller=/data/app/~~uUGfo4I5iVwhbObQxSJ22A==/io.agora.agora_rtc_ng_example-xHqLnEK21iD6j_XF2cf_Cg==/base.apk): ok
D/nativeloader(21889): Load /data/app/~~uUGfo4I5iVwhbObQxSJ22A==/io.agora.agora_rtc_ng_example-xHqLnEK21iD6j_XF2cf_Cg==/lib/x86_64/libagora_video_decoder_extension.so using class loader ns clns-7 (caller=/data/app/~~uUGfo4I5iVwhbObQxSJ22A==/io.agora.agora_rtc_ng_example-xHqLnEK21iD6j_XF2cf_Cg==/base.apk): ok
D/nativeloader(21889): Load /data/app/~~uUGfo4I5iVwhbObQxSJ22A==/io.agora.agora_rtc_ng_example-xHqLnEK21iD6j_XF2cf_Cg==/lib/x86_64/libagora_video_encoder_extension.so using class loader ns clns-7 (caller=/data/app/~~uUGfo4I5iVwhbObQxSJ22A==/io.agora.agora_rtc_ng_example-xHqLnEK21iD6j_XF2cf_Cg==/base.apk): ok
D/nativeloader(21889): Load /data/app/~~uUGfo4I5iVwhbObQxSJ22A==/io.agora.agora_rtc_ng_example-xHqLnEK21iD6j_XF2cf_Cg==/lib/x86_64/libagora_video_quality_analyzer_extension.so using class loader ns clns-7 (caller=/data/app/~~uUGfo4I5iVwhbObQxSJ22A==/io.agora.agora_rtc_ng_example-xHqLnEK21iD6j_XF2cf_Cg==/base.apk): ok
I/spdlog  (21889): [2025-05-07 10:00:20.231][21889][I][iris_jni_rtc.cc:116] loaded extensions: agora_ai_echo_cancellation_extension,agora_ai_echo_cancellation_ll_extension,agora_ai_noise_suppression_extension,agora_ai_noise_suppression_ll_extension,agora_audio_beauty_extension,agora_clear_vision_extension,agora_content_inspect_extension,agora_face_capture_extension,agora_face_detection_extension,agora_lip_sync_extension,agora_screen_capture_extension,agora_segmentation_extension,agora_spatial_audio_extension,agora_video_av1_decoder_extension,agora_video_av1_encoder_extension,agora_video_decoder_extension,agora_video_encoder_extension,agora_video_quality_analyzer_extension,
I/_rtc_ng_example(21889): AssetManager2(0x7293063ca5b8) locale list changing from [] to [en-US]
W/WindowOnBackDispatcher(21889): OnBackInvokedCallback is not enabled for the application.
W/WindowOnBackDispatcher(21889): Set 'android:enableOnBackInvokedCallback="true"' in the application manifest.
I/spdlog  (21889): [2025-05-07 10:00:20.600][21990][I][iris_rtc_api_engine.cc:436] api name RtcEngine_initialize_0320339 params "{"context":{"appId":"a03***************908"}}"
I/spdlog  (21889): [2025-05-07 10:00:20.602][21990][I][iris_logger.cc:157] reset logger to /storage/emulated/0/Android/data/io.agora.agora_rtc_ng_example/files/agora-iris.log
I/spdlog  (21889): [2025-05-07 10:00:20.603][21990][I][iris_logger.cc:159] iris version: 4.5.2-build.1 commit: 4eee5cf6a97f30848b12b95873f7a3ba72e710cf build: 34812
E/SQLiteLog(21889): (1) no such column: key in "select key, value, expired from "android_metadata";"
D/CommonUtility(21889): registerSystemEventListener: io.agora.utils2.internal.RtcSystemEventListener
D/CommonUtility(21889): onNetworkChange: io.agora.utils2.internal.RtcSystemEventListener
D/RtcSystemEventListener(21889): onNetworkChange: 
D/AudioSystem(21889): onNewService: media.audio_policy service obtained 0x7293e63ce890
D/AudioSystem(21889): getService: checking for service media.audio_policy: 0x7293e63ce890
I/_rtc_ng_example(21889): hiddenapi: Accessing hidden method Landroid/media/AudioManager;->getDevicesForStream(I)I (runtime_flags=0, domain=platform, api=unsupported) from Lio/agora/rtc2/internal/AudioRoutingController; (domain=app) using reflection: allowed
4
W/VideoCapabilities(21889): Unsupported mime video/apv
I/spdlog  (21889): [2025-05-07 10:00:21.107][21990][I][iris_rtc_rendering_impl.cc:64] initialize rendering
I/spdlog  (21889): [2025-05-07 10:00:21.155][21990][I][iris_rtc_rendering_impl.cc:49] register video frame renderer observer 125972032370024
I/spdlog  (21889): [2025-05-07 10:00:21.155][21990][I][iris_rtc_api_engine.cc:504] api name RtcEngine_initialize_0320339 result 0 outdata {"result":0}
I/spdlog  (21889): [2025-05-07 10:00:21.158][21990][I][iris_rtc_api_engine.cc:438] api name RtcEngine_setAppType params "{"appType":4}"
I/spdlog  (21889): [2025-05-07 10:00:21.162][21990][I][iris_rtc_api_engine.cc:504] api name RtcEngine_setAppType result 0 outdata {"result":0}
I/spdlog  (21889): [2025-05-07 10:00:21.197][21990][I][iris_rtc_api_engine.cc:438] api name RtcEngine_registerEventHandler_5fc0465 params "{}"
I/spdlog  (21889): [2025-05-07 10:00:21.197][21990][I][iris_rtc_api_engine.cc:490] api name RtcEngine_registerEventHandler_5fc0465 extened params "{"event":125975522055664}"
I/spdlog  (21889): [2025-05-07 10:00:21.198][21990][I][iris_rtc_api_engine.cc:504] api name RtcEngine_registerEventHandler_5fc0465 result 0 outdata {"result":0}
I/spdlog  (21889): [2025-05-07 10:00:21.205][21990][I][iris_rtc_api_engine.cc:438] api name RtcEngine_enableAudio params "{}"
I/spdlog  (21889): [2025-05-07 10:00:21.207][21990][I][iris_rtc_api_engine.cc:504] api name RtcEngine_enableAudio result 0 outdata {"result":0}
I/spdlog  (21889): [2025-05-07 10:00:21.219][21990][I][iris_rtc_api_engine.cc:438] api name RtcEngine_setClientRole_3426fa6 params "{"role":1,"options":null}"
I/spdlog  (21889): [2025-05-07 10:00:21.286][21990][I][iris_rtc_api_engine.cc:504] api name RtcEngine_setClientRole_3426fa6 result 0 outdata {"result":0}
I/spdlog  (21889): [2025-05-07 10:00:21.294][21990][I][iris_rtc_api_engine.cc:438] api name RtcEngine_setAudioProfile_d944543 params "{"profile":0,"scenario":3}"
I/spdlog  (21889): [2025-05-07 10:00:21.347][21990][I][iris_rtc_api_engine.cc:504] api name RtcEngine_setAudioProfile_d944543 result 0 outdata {"result":0}
E/libEGL  (21889): called unimplemented OpenGL ES API
I/spdlog  (21889): [2025-05-07 10:00:23.081][21990][I][iris_rtc_api_engine.cc:436] api name RtcEngine_joinChannel_cdbb747 params "{"token":"007e***************AA==","channelId":"test","uid":0,"options":{"clientRoleType":1,"channelProfile":1}}"
I/spdlog  (21889): [2025-05-07 10:00:23.123][21990][I][iris_rtc_api_engine.cc:504] api name RtcEngine_joinChannel_cdbb747 result 0 outdata {"result":0}
D/AudioSystem(21889): onNewServiceWithAdapter: media.audio_flinger service obtained 0x7292d649cc00
D/AudioSystem(21889): getService: checking for service media.audio_flinger: 0x7293e63b12e0
D/AudioSystem(21889): getClient: checking for service: 0x0
E/AudioRecord(21889): getMinFrameCount(): AudioSystem could not query the input buffer size for sampleRate 48000, format 0x1, channelMask 0xc; status -19
D/AudioSystem(21889): getService: checking for service media.audio_flinger: 0x7293e63b12e0
D/AudioTrack(21889): getTimestamp_l(208): device stall time corrected using current time 35406031805200
2
E/libEGL  (21889): called unimplemented OpenGL ES API
W/WindowOnBackDispatcher(21889): sendCancelIfRunning: isInProgress=false callback=android.view.ViewRootImpl$$ExternalSyntheticLambda13@31b88e
D/ViewRootImpl(21889): Skipping stats log for color mode
I/flutter (21889): Receive the onDetachedFromEngine callback, clean the native resources.
D/CommonUtility(21889): onForegroundChanged() false
I/flutter (22148): [IMPORTANT:flutter/shell/platform/android/android_context_gl_impeller.cc(94)] Using the Impeller rendering backend (OpenGLES).
I/flutter (22148): | JPUSH | Flutter | addEventHandler:
I/flutter (22148): | JPUSH | Flutter | setAuth:
I/flutter (22148): | JPUSH | Flutter | setup:
I/flutter (22148): | JPUSH | Flutter | applyPushAuthority:
2
I/flutter (22148): | JPUSH | Flutter | _handleMethod:
W/AudioTrack(21889): restartIfDisabled(208): releaseBuffer() track 0x7292363f6650 disabled due to previous underrun, restarting
D/AudioTrack(21889): getTimestamp_l(208): device stall time corrected using current time 35428656296200
I/flutter (21889): [IMPORTANT:flutter/shell/platform/android/android_context_gl_impeller.cc(94)] Using the Impeller rendering backend (OpenGLES).
D/AutofillManager(21889): Fill dialog is enabled:false, hints=[password, passwordAuto, creditCardNumber, creditCardSecurityCode, creditCardExpirationDate]
I/Choreographer(21889): Skipped 85 frames!  The application may be doing too much work on its main thread.
W/HWUI    (21889): Failed to choose config with EGL_SWAP_BEHAVIOR_PRESERVED, retrying without...
W/HWUI    (21889): Failed to initialize 101010-2 format, error = EGL_SUCCESS
E/libEGL  (21889): called unimplemented OpenGL ES API
D/permissions_handler(21889): No permissions found in manifest for: []33
D/CommonUtility(21889): onForegroundChanged() true
I/Choreographer(21889): Skipped 35 frames!  The application may be doing too much work on its main thread.
D/WindowLayoutComponentImpl(21889): Register WindowLayoutInfoListener on Context=io.agora.agora_rtc_ng_example.MainActivity@a8d4c09, of which baseContext=android.app.ContextImpl@5f7627
D/InsetsController(21889): hide(ime(), fromIme=false)
I/ImeTracker(21889): io.agora.agora_rtc_ng_example:69921fcf: onCancelled at PHASE_CLIENT_ALREADY_HIDDEN
E/libEGL  (21889): called unimplemented OpenGL ES API
I/_rtc_ng_example(21889): AssetManager2(0x7293063a6398) locale list changing from [] to [en-US]
W/WindowOnBackDispatcher(21889): OnBackInvokedCallback is not enabled for the application.
W/WindowOnBackDispatcher(21889): Set 'android:enableOnBackInvokedCallback="true"' in the application manifest.
I/spdlog  (21889): [2025-05-07 10:00:57.679][22405][I][iris_rtc_api_engine.cc:436] api name RtcEngine_initialize_0320339 params "{"context":{"appId":"a03***************908"}}"
I/spdlog  (21889): [2025-05-07 10:00:57.682][22405][I][iris_rtc_rendering_impl.cc:64] initialize rendering
I/spdlog  (21889): [2025-05-07 10:00:57.692][22405][I][iris_rtc_rendering_impl.cc:49] register video frame renderer observer 125972032157192
I/spdlog  (21889): [2025-05-07 10:00:57.694][22405][I][iris_rtc_api_engine.cc:504] api name RtcEngine_initialize_0320339 result 0 outdata {"result":0}
I/spdlog  (21889): [2025-05-07 10:00:57.697][22405][I][iris_rtc_api_engine.cc:438] api name RtcEngine_setAppType params "{"appType":4}"
I/spdlog  (21889): [2025-05-07 10:00:57.703][22405][I][iris_rtc_api_engine.cc:504] api name RtcEngine_setAppType result 0 outdata {"result":0}
I/spdlog  (21889): [2025-05-07 10:00:57.720][22405][I][iris_rtc_api_engine.cc:438] api name RtcEngine_registerEventHandler_5fc0465 params "{}"
I/spdlog  (21889): [2025-05-07 10:00:57.720][22405][I][iris_rtc_api_engine.cc:490] api name RtcEngine_registerEventHandler_5fc0465 extened params "{"event":125975522327824}"
I/spdlog  (21889): [2025-05-07 10:00:57.720][22405][I][iris_rtc_api_engine.cc:504] api name RtcEngine_registerEventHandler_5fc0465 result 0 outdata {"result":0}
I/spdlog  (21889): [2025-05-07 10:00:57.720][22405][I][iris_rtc_api_engine.cc:438] api name RtcEngine_enableAudio params "{}"
I/spdlog  (21889): [2025-05-07 10:00:57.722][22405][I][iris_rtc_api_engine.cc:504] api name RtcEngine_enableAudio result 0 outdata {"result":0}
I/spdlog  (21889): [2025-05-07 10:00:57.740][22405][I][iris_rtc_api_engine.cc:438] api name RtcEngine_setClientRole_3426fa6 params "{"role":1,"options":null}"
I/spdlog  (21889): [2025-05-07 10:00:57.756][22405][I][iris_rtc_api_engine.cc:504] api name RtcEngine_setClientRole_3426fa6 result 0 outdata {"result":0}
I/spdlog  (21889): [2025-05-07 10:00:57.801][22405][I][iris_rtc_api_engine.cc:438] api name RtcEngine_setAudioProfile_d944543 params "{"profile":0,"scenario":3}"
I/spdlog  (21889): [2025-05-07 10:00:57.804][22405][I][iris_rtc_api_engine.cc:504] api name RtcEngine_setAudioProfile_d944543 result 0 outdata {"result":0}
E/libEGL  (21889): called unimplemented OpenGL ES API
I/spdlog  (21889): [2025-05-07 10:01:05.052][22405][I][iris_rtc_api_engine.cc:436] api name RtcEngine_joinChannel_cdbb747 params "{"token":"007e***************AA==","channelId":"test","uid":0,"options":{"clientRoleType":1,"channelProfile":1}}"
I/spdlog  (21889): [2025-05-07 10:01:05.055][22405][I][iris_rtc_api_engine.cc:504] api name RtcEngine_joinChannel_cdbb747 result 0 outdata {"result":-17}
E/libEGL  (21889): called unimplemented OpenGL ES API

Flutter Doctor output

Doctor output
Flutter assets will be downloaded from https://storage.flutter-io.cn. Make sure you trust this source!
[√] Flutter (Channel stable, 3.29.2, on Microsoft Windows [版本 10.0.19045.5737], locale zh-CN) [507ms]
    • Flutter version 3.29.2 on channel stable at E:\DevEnv\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision c236373904 (8 weeks ago), 2025-03-13 16:17:06 -0400
    • Engine revision 18b71d647a
    • Dart version 3.7.2
    • DevTools version 2.42.3
    • Pub download mirror https://pub.flutter-io.cn
    • Flutter download mirror https://storage.flutter-io.cn

[√] Windows Version (10 专业版 64 位, 22H2, 2009) [3.3s]

[√] Android toolchain - develop for Android devices (Android SDK version 36.0.0) [2.6s]
    • Android SDK at E:\DevEnv\AndroidSDK
    • Platform android-36, build-tools 36.0.0
    • ANDROID_HOME = E:\DevEnv\AndroidSDK
    • Java binary at: E:\DevEnv\Openjdk\zulu\zulu17.44.15-ca-jdk17.0.8-win_x64\bin\java
      This JDK is specified in your Flutter configuration.
      To change the current JDK, run: `flutter config --jdk-dir="path/to/jdk"`.
    • Java version OpenJDK Runtime Environment Zulu17.44+15-CA (build 17.0.8+7-LTS)
    • All Android licenses accepted.

[X] Chrome - develop for the web (Cannot find Chrome executable at .\Google\Chrome\Application\chrome.exe) [89ms]
    ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.

[√] Visual Studio - develop Windows apps (Visual Studio Community 2022 17.11.3) [88ms]
    • Visual Studio at E:\Develop\Microsoft Visual Studio\2022\Community
    • Visual Studio Community 2022 version 17.11.35303.130
    • Windows 10 SDK version 10.0.22621.0

[√] Android Studio (version 2024.3) [17ms]
    • Android Studio at E:\Develop\AndroidStudio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version openjdk version "21.0.6" 2025-01-21

[√] IntelliJ IDEA Ultimate Edition (version 2025.1) [16ms]
    • IntelliJ at E:\Develop\IntelliJ IDEA
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart

[√] VS Code (version 1.99.3) [15ms]
    • VS Code at C:\Users\icraf\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.110.0

[√] Connected device (4 available) [1,411ms]
    • Mi MIX 2 (mobile)            • 192.168.1.238:39660 • android-arm64  • Android 15 (API 35)
    • sdk gphone64 x86 64 (mobile) • emulator-5554       • android-x64    • Android 16 (API 36) (emulator)
    • Windows (desktop)            • windows             • windows-x64    • Microsoft Windows [版本 10.0.19045.5737]
    • Edge (web)                   • edge                • web-javascript • Microsoft Edge 136.0.3240.50

[√] Network resources [851ms]
    • All expected network resources are available.

! Doctor found issues in 1 category.

No06 avatar May 07 '25 10:05 No06

@No06 首先很感谢你的反馈,其次请勿使用6.3.0,如果是首次接入五特殊需要请直接使用 6.5.1,该版本有对android project进行升级,我们ci有对3.7-3.24.5进行兼容测试。还请麻烦进行升级后再次测试?

peilinok avatar May 08 '25 04:05 peilinok

感谢回复 我检查了一下我用的是最新的6.5.2,同样是上述问题

No06 avatar May 08 '25 05:05 No06

@No06 17 代表 reject,重复加入的意思 https://doc.shengwang.cn/api-ref/rtc/windows/API/enum_errorcodetype#ERR_JOIN_CHANNEL_REJECTED

这两天事情比较多,明天会去调查一下

peilinok avatar May 08 '25 15:05 peilinok

@No06 抱歉这么久回复,我们在Android 15/16 上复现了该问题,并且不限于Flutter SDK 客户端,有任何进展后都会通知你

peilinok avatar May 15 '25 10:05 peilinok

能复现就好

No06 avatar May 16 '25 00:05 No06

This issue is stale because it has been open 14 days with no activity. Remove stale label or comment or this will be closed in 5 days.

github-actions[bot] avatar May 30 '25 08:05 github-actions[bot]