weixin_39922749
weixin_39922749
2021-01-10 06:01

Crash when clearing map after adding marker

Platform: Android 8.1 and 4.4 Mapbox SDK version: 5.2.1 (Also happens in 5.2.0, but not 5.1.5)

Steps to trigger behavior

  1. Add map fragment to activity.
  2. On button press add marker to map. In the same event: start a camera update.
  3. On camera update finish, clear map.

Expected behavior

Camera moves and marker removes without any trouble.

Actual behavior

Crash.

Repo reproduces this crash.

Logs from Android 8.1:



--------- beginning of crash
12-07 11:48:13.595 21430-21430/com.honeybeeapp.mapboxplay.mapboxplay A/libc: /usr/local/google/buildbot/src/android/ndk-r15-release/external/libcxx/../../external/libcxxabi/src/abort_message.cpp:74: void abort_message(const char *, ...): assertion "terminating with uncaught exception of type jni::PendingJavaException" failed
12-07 11:48:13.595 21430-21430/com.honeybeeapp.mapboxplay.mapboxplay A/libc: Fatal signal 6 (SIGABRT), code -6 in tid 21430 (play.mapboxplay), pid 21430 (play.mapboxplay)
12-07 11:48:13.611 21621-21621/? I/crash_dump32: obtaining output fd from tombstoned, type: kDebuggerdTombstone
12-07 11:48:13.611 1509-1509/? I//system/bin/tombstoned: received crash request for pid 21430
12-07 11:48:13.611 21621-21621/? I/crash_dump32: performing dump of process 21430 (target tid = 21430)
12-07 11:48:13.611 21621-21621/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
12-07 11:48:13.611 21621-21621/? A/DEBUG: Build fingerprint: 'google/sdk_gphone_x86/generic_x86:8.1.0/OPM1.171004.001/4376136:userdebug/dev-keys'
12-07 11:48:13.611 21621-21621/? A/DEBUG: Revision: '0'
12-07 11:48:13.611 21621-21621/? A/DEBUG: ABI: 'x86'
12-07 11:48:13.611 21621-21621/? A/DEBUG: pid: 21430, tid: 21430, name: play.mapboxplay  >>> com.honeybeeapp.mapboxplay.mapboxplay <<<
12-07 11:48:13.611 21621-21621/? A/DEBUG: signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
12-07 11:48:13.612 21621-21621/? A/DEBUG: Abort message: '/usr/local/google/buildbot/src/android/ndk-r15-release/external/libcxx/../../external/libcxxabi/src/abort_message.cpp:74: void abort_message(const char *, ...): assertion "terminating with uncaught exception of type jni::PendingJavaException" failed'
12-07 11:48:13.612 21621-21621/? A/DEBUG:     eax 00000000  ebx 000053b6  ecx 000053b6  edx 00000006
12-07 11:48:13.612 21621-21621/? A/DEBUG:     esi a72a7638  edi 000053b6
12-07 11:48:13.612 21621-21621/? A/DEBUG:     xcs 00000073  xds 0000007b  xes 0000007b  xfs 0000003b  xss 0000007b
12-07 11:48:13.612 21621-21621/? A/DEBUG:     eip aacc1ac4  ebp bfbad6b4  esp bfbad658  flags 00000286
12-07 11:48:13.768 21621-21621/? A/DEBUG: backtrace:
12-07 11:48:13.768 21621-21621/? A/DEBUG:     #00 pc 00000ac4  [vdso:aacc1000] (__kernel_vsyscall+16)
12-07 11:48:13.768 21621-21621/? A/DEBUG:     #01 pc 0001edf8  /system/lib/libc.so (syscall+40)
12-07 11:48:13.768 21621-21621/? A/DEBUG:     #02 pc 0001f073  /system/lib/libc.so (abort+115)
12-07 11:48:13.768 21621-21621/? A/DEBUG:     #03 pc 0001f528  /system/lib/libc.so (__assert2+56)
12-07 11:48:13.768 21621-21621/? A/DEBUG:     #04 pc 004995d4  /data/app/com.honeybeeapp.mapboxplay.mapboxplay-ZabErvQAFQgwegvXfPSxFQ==/lib/x86/libmapbox-gl.so
12-07 11:48:13.768 21621-21621/? A/DEBUG:     #05 pc 004996fd  /data/app/com.honeybeeapp.mapboxplay.mapboxplay-ZabErvQAFQgwegvXfPSxFQ==/lib/x86/libmapbox-gl.so
12-07 11:48:13.768 21621-21621/? A/DEBUG:     #06 pc 00496959  /data/app/com.honeybeeapp.mapboxplay.mapboxplay-ZabErvQAFQgwegvXfPSxFQ==/lib/x86/libmapbox-gl.so
12-07 11:48:13.768 21621-21621/? A/DEBUG:     #07 pc 004960dc  /data/app/com.honeybeeapp.mapboxplay.mapboxplay-ZabErvQAFQgwegvXfPSxFQ==/lib/x86/libmapbox-gl.so
12-07 11:48:13.768 21621-21621/? A/DEBUG:     #08 pc 00064561  /data/app/com.honeybeeapp.mapboxplay.mapboxplay-ZabErvQAFQgwegvXfPSxFQ==/lib/x86/libmapbox-gl.so
12-07 11:48:13.768 21621-21621/? A/DEBUG:     #09 pc 00074df8  /data/app/com.honeybeeapp.mapboxplay.mapboxplay-ZabErvQAFQgwegvXfPSxFQ==/lib/x86/libmapbox-gl.so
12-07 11:48:13.768 21621-21621/? A/DEBUG:     #10 pc 00074f07  /data/app/com.honeybeeapp.mapboxplay.mapboxplay-ZabErvQAFQgwegvXfPSxFQ==/lib/x86/libmapbox-gl.so
12-07 11:48:13.768 21621-21621/? A/DEBUG:     #11 pc 0027b634  /data/app/com.honeybeeapp.mapboxplay.mapboxplay-ZabErvQAFQgwegvXfPSxFQ==/lib/x86/libmapbox-gl.so
12-07 11:48:13.768 21621-21621/? A/DEBUG:     #12 pc 0013090d  /data/app/com.honeybeeapp.mapboxplay.mapboxplay-ZabErvQAFQgwegvXfPSxFQ==/lib/x86/libmapbox-gl.so
12-07 11:48:13.768 21621-21621/? A/DEBUG:     #13 pc 0027af0b  /data/app/com.honeybeeapp.mapboxplay.mapboxplay-ZabErvQAFQgwegvXfPSxFQ==/lib/x86/libmapbox-gl.so
12-07 11:48:13.768 21621-21621/? A/DEBUG:     #14 pc 00279b4c  /data/app/com.honeybeeapp.mapboxplay.mapboxplay-ZabErvQAFQgwegvXfPSxFQ==/lib/x86/libmapbox-gl.so
12-07 11:48:13.768 21621-21621/? A/DEBUG:     #15 pc 00279bf6  /data/app/com.honeybeeapp.mapboxplay.mapboxplay-ZabErvQAFQgwegvXfPSxFQ==/lib/x86/libmapbox-gl.so
12-07 11:48:13.768 21621-21621/? A/DEBUG:     #16 pc 00275d2b  /data/app/com.honeybeeapp.mapboxplay.mapboxplay-ZabErvQAFQgwegvXfPSxFQ==/lib/x86/libmapbox-gl.so
12-07 11:48:13.768 21621-21621/? A/DEBUG:     #17 pc 00275cb6  /data/app/com.honeybeeapp.mapboxplay.mapboxplay-ZabErvQAFQgwegvXfPSxFQ==/lib/x86/libmapbox-gl.so
12-07 11:48:13.768 21621-21621/? A/DEBUG:     #18 pc 00356166  /data/app/com.honeybeeapp.mapboxplay.mapboxplay-ZabErvQAFQgwegvXfPSxFQ==/lib/x86/libmapbox-gl.so
12-07 11:48:13.768 21621-21621/? A/DEBUG:     #19 pc 00272bbc  /data/app/com.honeybeeapp.mapboxplay.mapboxplay-ZabErvQAFQgwegvXfPSxFQ==/lib/x86/libmapbox-gl.so
12-07 11:48:13.768 21621-21621/? A/DEBUG:     #20 pc 00272d13  /data/app/com.honeybeeapp.mapboxplay.mapboxplay-ZabErvQAFQgwegvXfPSxFQ==/lib/x86/libmapbox-gl.so
12-07 11:48:13.768 21621-21621/? A/DEBUG:     #21 pc 0034f296  /data/app/com.honeybeeapp.mapboxplay.mapboxplay-ZabErvQAFQgwegvXfPSxFQ==/lib/x86/libmapbox-gl.so
12-07 11:48:13.768 21621-21621/? A/DEBUG:     #22 pc 0034e80d  /data/app/com.honeybeeapp.mapboxplay.mapboxplay-ZabErvQAFQgwegvXfPSxFQ==/lib/x86/libmapbox-gl.so
12-07 11:48:13.768 21621-21621/? A/DEBUG:     #23 pc 0034dc06  /data/app/com.honeybeeapp.mapboxplay.mapboxplay-ZabErvQAFQgwegvXfPSxFQ==/lib/x86/libmapbox-gl.so
12-07 11:48:13.768 21621-21621/? A/DEBUG:     #24 pc 00014af7  /system/lib/libutils.so (android::SimpleLooperCallback::handleEvent(int, int, void*)+39)
12-07 11:48:13.768 21621-21621/? A/DEBUG:     #25 pc 00015936  /system/lib/libutils.so (android::Looper::pollInner(int)+982)
12-07 11:48:13.768 21621-21621/? A/DEBUG:     #26 pc 000154d6  /system/lib/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+118)
12-07 11:48:13.768 21621-21621/? A/DEBUG:     #27 pc 000e24eb  /system/lib/libandroid_runtime.so (android::android_os_MessageQueue_nativePollOnce(_JNIEnv*, _jobject*, long long, int)+59)
12-07 11:48:13.768 21621-21621/? A/DEBUG:     #28 pc 007c9c18  /system/framework/x86/boot-framework.oat (offset 0x5fc000) (android.app.NativeActivity.onWindowFocusChangedNative [DEDUPED]+136)
12-07 11:48:13.768 21621-21621/? A/DEBUG:     #29 pc 0000a1ce  /dev/ashmem/dalvik-jit-code-cache (deleted)
12-07 11:48:13.963 1509-1509/? E//system/bin/tombstoned: Tombstone written to: /data/tombstones/tombstone_08
12-07 11:48:13.965 2258-2307/system_process I/BootReceiver: Copying /data/tombstones/tombstone_08 to DropBox (SYSTEM_TOMBSTONE)
12-07 11:48:13.971 2258-21630/system_process W/ActivityManager: Process com.honeybeeapp.mapboxplay.mapboxplay has crashed too many times: killing!
12-07 11:48:13.971 2258-21630/system_process W/ActivityManager:   Force finishing activity com.honeybeeapp.mapboxplay.mapboxplay/.MainActivity
12-07 11:48:13.974 2258-21630/system_process I/WindowManager: Failed to capture screenshot of Token{d3620d4 ActivityRecord{4293627 u0 com.honeybeeapp.mapboxplay.mapboxplay/.MainActivity t72 f}} appWin=Window{6f3e5d0 u0 com.honeybeeapp.mapboxplay.mapboxplay/com.honeybeeapp.mapboxplay.mapboxplay.MainActivity} drawState=4
12-07 11:48:13.977 2258-21630/system_process E/ActivityManager: Found activity ActivityRecord{4293627 u0 com.honeybeeapp.mapboxplay.mapboxplay/.MainActivity t-1 f} in proc activity list using null instead of expected ProcessRecord{fba72ea 21430:com.honeybeeapp.mapboxplay.mapboxplay/u0a81}
12-07 11:48:13.977 1395-1395/? E/lowmemorykiller: Error writing /proc/21430/oom_score_adj; errno=22
12-07 11:48:13.981 2258-21630/system_process I/ActivityManager: Killing 21430:com.honeybeeapp.mapboxplay.mapboxplay/u0a81 (adj 199): crash
12-07 11:48:13.982 2258-2292/system_process W/zygote: kill(-21430, 9) failed: No such process

该提问来源于开源项目:mapbox/mapbox-gl-native

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

4条回答

  • weixin_39647412 weixin_39647412 4月前

    Thank you for reaching out, could you please share the code how you are adding the marker and clearing the map?

    点赞 评论 复制链接分享
  • weixin_39922749 weixin_39922749 4月前

    Snippet from the linked repo:

    
    View button = findViewById(R.id.button2);
            button.setOnClickListener(new View.OnClickListener() {
    
                public void onClick(View view) {
                    if (mMap != null) {
    
                        final LatLng latLng = new LatLng(32, -18);
                        mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(latLng, 15), new MapboxMap.CancelableCallback() {
    
                            public void onCancel() {
    
                            }
    
    
                            public void onFinish() {
                                mMap.clear();
                            }
                        });
    
                        MarkerOptions customerMarker = new MarkerOptions();
                        customerMarker.position(latLng);
                        customerMarker.title("Hi!");
                        mMap.addMarker(customerMarker);
    
                    }
                }
            });
    

    Crash can be triggered when clicking button.

    Map init code:

    
     final SupportMapFragment mapFragment1 = new SupportMapFragment();
            getSupportFragmentManager().beginTransaction().replace(R.id.map_frame_layout, mapFragment1).commit();
    
            mapFragment1.getMapAsync(new OnMapReadyCallback() {
    
                public void onMapReady(MapboxMap mapboxMap) {
                    mMap = mapboxMap;
                }
            });
    
    点赞 评论 复制链接分享
  • weixin_39922749 weixin_39922749 4月前

    I'm playing round with this some more and the following code also crashes:

    
     mapFragment1.getMapAsync(new OnMapReadyCallback() {
    
                public void onMapReady(MapboxMap mapboxMap) {
                    mMap = mapboxMap;
    
                    MarkerOptions customerMarker = new MarkerOptions();
                    customerMarker.position(latLng);
                    customerMarker.title("Hi!");
                    mMap.addMarker(customerMarker);
                }
            });
    
            View button = findViewById(R.id.button2);
            button.setOnClickListener(new View.OnClickListener() {
    
                public void onClick(View view) {
                    if (mMap != null) {
    
                        mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(latLng, 15), new MapboxMap.CancelableCallback() {
    
                            public void onCancel() {
    
                            }
    
    
                            public void onFinish() {
                                mMap.clear();
                            }
                        });
    
                    }
                }
            });
    

    With logcat output:

    
    12-07 14:59:59.636 6524-6524/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
    12-07 14:59:59.636 6524-6524/? A/DEBUG: Build fingerprint: 'google/sdk_gphone_x86/generic_x86:8.1.0/OPM1.171004.001/4376136:userdebug/dev-keys'
    12-07 14:59:59.636 6524-6524/? A/DEBUG: Revision: '0'
    12-07 14:59:59.636 6524-6524/? A/DEBUG: ABI: 'x86'
    12-07 14:59:59.636 6524-6524/? A/DEBUG: pid: 6333, tid: 6333, name: play.mapboxplay  >>> com.honeybeeapp.mapboxplay.mapboxplay <<<
    12-07 14:59:59.636 6524-6524/? A/DEBUG: signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
    12-07 14:59:59.637 6524-6524/? A/DEBUG: Abort message: '/usr/local/google/buildbot/src/android/ndk-r15-release/external/libcxx/../../external/libcxxabi/src/abort_message.cpp:74: void abort_message(const char *, ...): assertion "terminating with uncaught exception of type jni::PendingJavaException" failed'
    12-07 14:59:59.637 6524-6524/? A/DEBUG:     eax 00000000  ebx 000018bd  ecx 000018bd  edx 00000006
    12-07 14:59:59.637 6524-6524/? A/DEBUG:     esi a8bef638  edi 000018bd
    12-07 14:59:59.637 6524-6524/? A/DEBUG:     xcs 00000073  xds 0000007b  xes 0000007b  xfs 0000003b  xss 0000007b
    12-07 14:59:59.637 6524-6524/? A/DEBUG:     eip a9e9dac4  ebp bffefa54  esp bffef9f8  flags 00000286
    12-07 14:59:59.805 6524-6524/? A/DEBUG: backtrace:
    12-07 14:59:59.805 6524-6524/? A/DEBUG:     #00 pc 00000ac4  [vdso:a9e9d000] (__kernel_vsyscall+16)
    12-07 14:59:59.805 6524-6524/? A/DEBUG:     #01 pc 0001edf8  /system/lib/libc.so (syscall+40)
    12-07 14:59:59.805 6524-6524/? A/DEBUG:     #02 pc 0001f073  /system/lib/libc.so (abort+115)
    12-07 14:59:59.805 6524-6524/? A/DEBUG:     #03 pc 0001f528  /system/lib/libc.so (__assert2+56)
    12-07 14:59:59.805 6524-6524/? A/DEBUG:     #04 pc 004995d4  /data/app/com.honeybeeapp.mapboxplay.mapboxplay-O46IqMy8bo5YVTDhSBMl-Q==/lib/x86/libmapbox-gl.so
    12-07 14:59:59.805 6524-6524/? A/DEBUG:     #05 pc 004996fd  /data/app/com.honeybeeapp.mapboxplay.mapboxplay-O46IqMy8bo5YVTDhSBMl-Q==/lib/x86/libmapbox-gl.so
    12-07 14:59:59.805 6524-6524/? A/DEBUG:     #06 pc 00496959  /data/app/com.honeybeeapp.mapboxplay.mapboxplay-O46IqMy8bo5YVTDhSBMl-Q==/lib/x86/libmapbox-gl.so
    12-07 14:59:59.805 6524-6524/? A/DEBUG:     #07 pc 004960dc  /data/app/com.honeybeeapp.mapboxplay.mapboxplay-O46IqMy8bo5YVTDhSBMl-Q==/lib/x86/libmapbox-gl.so
    12-07 14:59:59.805 6524-6524/? A/DEBUG:     #08 pc 00064561  /data/app/com.honeybeeapp.mapboxplay.mapboxplay-O46IqMy8bo5YVTDhSBMl-Q==/lib/x86/libmapbox-gl.so
    12-07 14:59:59.805 6524-6524/? A/DEBUG:     #09 pc 00074df8  /data/app/com.honeybeeapp.mapboxplay.mapboxplay-O46IqMy8bo5YVTDhSBMl-Q==/lib/x86/libmapbox-gl.so
    12-07 14:59:59.805 6524-6524/? A/DEBUG:     #10 pc 00074f07  /data/app/com.honeybeeapp.mapboxplay.mapboxplay-O46IqMy8bo5YVTDhSBMl-Q==/lib/x86/libmapbox-gl.so
    12-07 14:59:59.805 6524-6524/? A/DEBUG:     #11 pc 0027b634  /data/app/com.honeybeeapp.mapboxplay.mapboxplay-O46IqMy8bo5YVTDhSBMl-Q==/lib/x86/libmapbox-gl.so
    12-07 14:59:59.805 6524-6524/? A/DEBUG:     #12 pc 0013090d  /data/app/com.honeybeeapp.mapboxplay.mapboxplay-O46IqMy8bo5YVTDhSBMl-Q==/lib/x86/libmapbox-gl.so
    12-07 14:59:59.805 6524-6524/? A/DEBUG:     #13 pc 0027af0b  /data/app/com.honeybeeapp.mapboxplay.mapboxplay-O46IqMy8bo5YVTDhSBMl-Q==/lib/x86/libmapbox-gl.so
    12-07 14:59:59.805 6524-6524/? A/DEBUG:     #14 pc 00279b4c  /data/app/com.honeybeeapp.mapboxplay.mapboxplay-O46IqMy8bo5YVTDhSBMl-Q==/lib/x86/libmapbox-gl.so
    12-07 14:59:59.805 6524-6524/? A/DEBUG:     #15 pc 00279bf6  /data/app/com.honeybeeapp.mapboxplay.mapboxplay-O46IqMy8bo5YVTDhSBMl-Q==/lib/x86/libmapbox-gl.so
    12-07 14:59:59.805 6524-6524/? A/DEBUG:     #16 pc 00275d2b  /data/app/com.honeybeeapp.mapboxplay.mapboxplay-O46IqMy8bo5YVTDhSBMl-Q==/lib/x86/libmapbox-gl.so
    12-07 14:59:59.805 6524-6524/? A/DEBUG:     #17 pc 00273e88  /data/app/com.honeybeeapp.mapboxplay.mapboxplay-O46IqMy8bo5YVTDhSBMl-Q==/lib/x86/libmapbox-gl.so
    12-07 14:59:59.805 6524-6524/? A/DEBUG:     #18 pc 00273f28  /data/app/com.honeybeeapp.mapboxplay.mapboxplay-O46IqMy8bo5YVTDhSBMl-Q==/lib/x86/libmapbox-gl.so
    12-07 14:59:59.805 6524-6524/? A/DEBUG:     #19 pc 003565f2  /data/app/com.honeybeeapp.mapboxplay.mapboxplay-O46IqMy8bo5YVTDhSBMl-Q==/lib/x86/libmapbox-gl.so
    12-07 14:59:59.805 6524-6524/? A/DEBUG:     #20 pc 00272bbc  /data/app/com.honeybeeapp.mapboxplay.mapboxplay-O46IqMy8bo5YVTDhSBMl-Q==/lib/x86/libmapbox-gl.so
    12-07 14:59:59.805 6524-6524/? A/DEBUG:     #21 pc 00272d13  /data/app/com.honeybeeapp.mapboxplay.mapboxplay-O46IqMy8bo5YVTDhSBMl-Q==/lib/x86/libmapbox-gl.so
    12-07 14:59:59.805 6524-6524/? A/DEBUG:     #22 pc 0034f296  /data/app/com.honeybeeapp.mapboxplay.mapboxplay-O46IqMy8bo5YVTDhSBMl-Q==/lib/x86/libmapbox-gl.so
    12-07 14:59:59.805 6524-6524/? A/DEBUG:     #23 pc 0034e80d  /data/app/com.honeybeeapp.mapboxplay.mapboxplay-O46IqMy8bo5YVTDhSBMl-Q==/lib/x86/libmapbox-gl.so
    12-07 14:59:59.805 6524-6524/? A/DEBUG:     #24 pc 0034dc06  /data/app/com.honeybeeapp.mapboxplay.mapboxplay-O46IqMy8bo5YVTDhSBMl-Q==/lib/x86/libmapbox-gl.so
    12-07 14:59:59.805 6524-6524/? A/DEBUG:     #25 pc 00014af7  /system/lib/libutils.so (android::SimpleLooperCallback::handleEvent(int, int, void*)+39)
    12-07 14:59:59.805 6524-6524/? A/DEBUG:     #26 pc 00015936  /system/lib/libutils.so (android::Looper::pollInner(int)+982)
    12-07 14:59:59.805 6524-6524/? A/DEBUG:     #27 pc 000154d6  /system/lib/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+118)
    12-07 14:59:59.805 6524-6524/? A/DEBUG:     #28 pc 000e24eb  /system/lib/libandroid_runtime.so (android::android_os_MessageQueue_nativePollOnce(_JNIEnv*, _jobject*, long long, int)+59)
    12-07 14:59:59.805 6524-6524/? A/DEBUG:     #29 pc 007c9c18  /system/framework/x86/boot-framework.oat (offset 0x5fc000) (android.app.NativeActivity.onWindowFocusChangedNative [DEDUPED]+136)
    12-07 14:59:59.805 6524-6524/? A/DEBUG:     #30 pc 0000a61e  /dev/ashmem/dalvik-jit-code-cache (deleted)
    12-07 15:00:00.002 1507-1507/? E//system/bin/tombstoned: Tombstone written to: /data/tombstones/tombstone_13
    

    So it looks like the marker doesn't have to be added shortly before clear is called to trigger crash.

    As a workaround I have changed our code to call moveCamera instead, and seems to prevent the crash.

    点赞 评论 复制链接分享
  • weixin_39647412 weixin_39647412 4月前

    Looked into this issue and it seems that the onFinish is invoked multple times resulting in the failed assertion down the line in the C++ code (this was tested on master). After restesting this on release-agua branch with the fix from https://github.com/mapbox/mapbox-gl-native/pull/10664. The issue no longer showed.

    点赞 评论 复制链接分享

相关推荐