3***@qq.com
3***@qq.com
  • 发布:2026-07-22 16:54
  • 更新:2026-07-22 17:03
  • 阅读:35

【报Bug】安卓离线打包 build.gradle 设置 minifyEnabled true(R8混淆)后 video组件无法播放视频

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: windows10

HBuilderX类型: 正式

HBuilderX版本号: 4.87

手机系统: Android

手机系统版本号: Android 16

手机厂商: 一加

手机机型: 一加12(ColorOS15)

页面类型: vue

vue版本: vue3

打包方式: 离线

项目创建方式: HBuilderX

示例代码:

build.gradle部分代码配置:

buildTypes {  
        debug {  
            signingConfig signingConfigs.config  
            // 开启R8混淆、资源压缩  
            minifyEnabled true  
            shrinkResources false  
            // 官方优化混淆规则 + 自定义规则文件  
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'  
            debuggable true // 关闭调试,杜绝adb调试  
        }  
    }

proguard-rules.pro

# =====【首行:优化控制,必须放在最顶部】=====  
# 关闭容易破坏资源主题引用的优化  
-optimizations !code/simplification/resource,!code/constant/*,!code/simplification/variable  

# 保留行号,便于崩溃日志还原(可选,正式包可以注释)  
-keepattributes SourceFile,LineNumberTable  
-renamesourcefileattribute SourceFile  

# 输出混淆映射文件  
-printmapping build/outputs/mapping/release/mapping.txt  

# JNI 原生方法统一保留(只保留一次!)  
-keepclasseswithmembernames class * {  
    native <methods>;  
}  

# ========= UniApp DCloud 内核全局保留 =========  
-keep class io.dcloud.** { *; }  
-keep class uts.sdk.** { *; }  
-keep class **.*Register { *; }  
-dontwarn io.dcloud.**  
-dontwarn uts.sdk.**  

# 自定义原生UniModule、UniComponent插件  
-keep public class * extends io.dcloud.feature.uniapp.common.UniModule  
-keep public class * extends io.dcloud.feature.uniapp.common.UniComponent  

# JSBridge、WebView交互  
-keepclassmembers class io.dcloud.js.** {*;}  

# 通用必备属性:泛型、异常、内部类  
-keepattributes Signature,Exceptions,InnerClasses  

# ========= fastjson 序列化规则 =========  
-dontwarn org.joda.time.**  
-dontwarn springfox.documentation.**  
-dontwarn com.getkeepsafe.relinker.**  
-dontwarn com.alibaba.fastjson.**  
-keep class com.alibaba.fastjson.**{*;}  

# ========= Weex 内核 + VideoPlayer 视频播放器 =========  
-keep class com.taobao.weex.** { *; }  
-keep interface com.taobao.weex.** { *; }  
-keep class com.alibaba.weex.** { *; }  
-keep interface com.alibaba.weex.** { *; }  

-keepclassmembers class com.taobao.weex.** {  
    public <init>(...);  
    public static *;  
}  

# Weex VideoPlayer  
-keep class com.taobao.weex.ui.component.WXVideo {*;}  
-keep class com.taobao.weex.ui.component.video.** {*;}  
-keep class com.taobao.weex.video.** {*;}  
-keep interface com.taobao.weex.ui.component.video.** {*;}  

-keepclassmembers class com.taobao.weex.ui.component.video.** {  
    public <init>(...);  
    public void set*(***);  
    public *** get*();  
}  

# ========= 腾讯定位SDK + UTS定位插件 =========  
-keep class com.tencent.map.** { *; }  
-keep interface com.tencent.map.** { *; }  
-keep class com.tencent.location.** { *; }  
-keep interface com.tencent.location.** { *; }  
-keep class com.tencent.imsdk.** { *; }  

# UTS腾讯定位插件  
-keep class uts.sdk.modules.DCloudUniGetLocationTencentUni1.** { *; }  
-keep interface uts.sdk.modules.DCloudUniGetLocationTencentUni1.** { *; }  
-keepclassmembers class uts.sdk.modules.DCloudUniGetLocationTencentUni1.** {  
    public *;  
    static *;  
    <init>(...);  
}  

# ========= 第三方WebView JS交互模板(备用) =========  
#-keepclassmembers class 你的JS交互类全路径 {  
#    public *;  
#}

uniapp代码(官方组件文档原样复制来的):

<video id="myVideo" src="https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/2minute-demo.mp4" @error="videoErrorCallback" :danmu-list="danmuList" enable-danmu danmu-btn controls></video>

操作步骤:

使用video组件的页面播放视频即可复现

预期结果:

正常播放

实际结果:

视频为黑色色块、没有播放按钮、点击黑色色块也无法播放

bug描述:

video组件在开启minifyEnabled true后为黑色色块,没有播放按钮,点击也无法播放。
异常截图(图1)
关闭minifyEnabled后的正常截图(图2、3)

开启R8混淆后,加载视频播放页的logcat

2026-07-22 16:53:18.460 20286-20286 DynamicFra...peedAware] com.fcw.app                          I  onEventHandled: info: InputEventInfo: mX = 0, mY = 0, mAction = 0, mVsyncTime = 902966938, mIsMoving = true, mUpdated = true  
2026-07-22 16:53:18.465 20286-20286 ViewExtract             com.fcw.app                          D  [OplusViewExtractManager] OplusViewExtractManager init com.fcw.app  
2026-07-22 16:53:18.521 20286-20286 OplusInput...erInternal com.fcw.app                          D  get inputMethodManager extension: com.android.internal.view.IInputMethodManager$Stub$Proxy@4ec0f26  
2026-07-22 16:53:18.521 20286-20286 DynamicFra...peedAware] com.fcw.app                          I  onEventHandled: info: InputEventInfo: mX = 0, mY = 0, mAction = 1, mVsyncTime = 902966999, mIsMoving = false, mUpdated = true  
2026-07-22 16:53:18.522 20286-20286 OplusViewD...ViewHelper com.fcw.app                          D  dispatchTouchView action = 1  
2026-07-22 16:53:18.522 20286-20286 ViewRootImplExtImpl     com.fcw.app                          D  the up motion event handled by client, just return  
2026-07-22 16:53:18.776 20286-20286 nativeloader            com.fcw.app                          D  Load /data/app/~~e7Nl7rPEulCRikn8AkpvTQ==/com.fcw.app-CEZA7DoqTeujbD-anjW05g==/lib/arm64/libijkffmpeg.so using class loader ns clns-9 (caller=/data/app/~~e7Nl7rPEulCRikn8AkpvTQ==/com.fcw.app-CEZA7DoqTeujbD-anjW05g==/base.apk!classes2.dex): ok  
2026-07-22 16:53:18.778 20286-20286 nativeloader            com.fcw.app                          D  Load /data/app/~~e7Nl7rPEulCRikn8AkpvTQ==/com.fcw.app-CEZA7DoqTeujbD-anjW05g==/lib/arm64/libijksdl.so using class loader ns clns-9 (caller=/data/app/~~e7Nl7rPEulCRikn8AkpvTQ==/com.fcw.app-CEZA7DoqTeujbD-anjW05g==/base.apk!classes2.dex): ok  
2026-07-22 16:53:18.778 20286-20286 J4A                     com.fcw.app                          D  J4ALoader: OK: 'android.os.Build$VERSION' loaded  
2026-07-22 16:53:18.778 20286-20286 J4A                     com.fcw.app                          D  J4ALoader: OK: 'android.os.Build' loaded  
2026-07-22 16:53:18.778 20286-20286 J4A                     com.fcw.app                          D  J4ALoader: OK: 'java.nio.Buffer' loaded  
2026-07-22 16:53:18.778 20286-20286 J4A                     com.fcw.app                          D  J4ALoader: OK: 'java.nio.ByteBuffer' loaded  
2026-07-22 16:53:18.778 20286-20286 J4A                     com.fcw.app                          D  J4ALoader: OK: 'java.util.ArrayList' loaded  
2026-07-22 16:53:18.778 20286-20286 J4A                     com.fcw.app                          I  API-Level: 36  
2026-07-22 16:53:18.778 20286-20286 J4A                     com.fcw.app                          D  J4ALoader: OK: 'android.media.AudioTrack' loaded  
2026-07-22 16:53:18.778 20286-20286 J4A                     com.fcw.app                          D  J4ALoader: OK: 'android.media.MediaCodec$BufferInfo' loaded  
2026-07-22 16:53:18.778 20286-20286 J4A                     com.fcw.app                          D  J4ALoader: OK: 'android.media.MediaCodec' loaded  
2026-07-22 16:53:18.778 20286-20286 J4A                     com.fcw.app                          D  J4ALoader: OK: 'android.media.MediaFormat' loaded  
2026-07-22 16:53:18.778 20286-20286 J4A                     com.fcw.app                          D  J4ALoader: OK: 'android.media.PlaybackParams' loaded  
2026-07-22 16:53:18.778 20286-20286 J4A                     com.fcw.app                          D  J4ALoader: OK: 'android.os.Bundle' loaded  
2026-07-22 16:53:18.778 20286-20286 J4A                     com.fcw.app                          D  J4ALoader: OK: 'tv.danmaku.ijk.media.player.misc.IMediaDataSource' loaded  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W  java.lang.ClassNotFoundException: Didn't find class "tv.danmaku.ijk.media.player.misc.IAndroidIO" on path: DexPathList[[zip file "/data/app/~~e7Nl7rPEulCRikn8AkpvTQ==/com.fcw.app-CEZA7DoqTeujbD-anjW05g==/base.apk"],nativeLibraryDirectories=[/data/app/~~e7Nl7rPEulCRikn8AkpvTQ==/com.fcw.app-CEZA7DoqTeujbD-anjW05g==/lib/arm64, /data/app/~~e7Nl7rPEulCRikn8AkpvTQ==/com.fcw.app-CEZA7DoqTeujbD-anjW05g==/base.apk!/lib/arm64-v8a, /system/lib64, /system_ext/lib64]]  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:259)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at java.lang.ClassLoader.loadClass(ClassLoader.java:637)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at java.lang.ClassLoader.loadClass(ClassLoader.java:573)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at java.lang.Runtime.nativeLoad(Native Method)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at java.lang.Runtime.loadLibrary0(Runtime.java:1088)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at java.lang.Runtime.loadLibrary0(Runtime.java:1012)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at java.lang.System.loadLibrary(System.java:1765)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at tv.danmaku.ijk.media.player.IjkMediaPlayer$1.loadLibrary(SourceFile:178)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at tv.danmaku.ijk.media.player.IjkMediaPlayer.loadLibrariesOnce(SourceFile:190)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at io.dcloud.media.video.ijkplayer.media.IjkPlayerView._initMediaPlayer(SourceFile:367)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at io.dcloud.media.video.ijkplayer.media.IjkPlayerView.init(SourceFile:517)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at io.dcloud.media.video.ijkplayer.VideoPlayerView.<init>(SourceFile:57)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at io.dcloud.media.video.DHVideoFrameItem.<init>(SourceFile:64)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at io.dcloud.media.video.VideoPlayerMgr.createVideoPlayer(SourceFile:65)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at io.dcloud.media.MediaFeatureImpl.VideoPlayer(SourceFile:44)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at java.lang.reflect.Method.invoke(Native Method)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at io.dcloud.common.DHInterface.StandardFeature.executeAction(SourceFile:4)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at io.dcloud.common.DHInterface.StandardFeature.execute(SourceFile:1)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at io.dcloud.p.h1.a(SourceFile:127)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at io.dcloud.p.h1.b(SourceFile:7)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at io.dcloud.p.h1.processEvent(SourceFile:174)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at io.dcloud.p.k0.dispatchEvent(SourceFile:22)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at io.dcloud.common.core.ui.l.processEvent(SourceFile:2)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at io.dcloud.common.core.ui.h.exec(SourceFile:10)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at io.dcloud.common.core.ui.h$a.execute(SourceFile:5)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at io.dcloud.common.adapter.util.MessageHandler$1.handleMessage(SourceFile:3)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at android.os.Handler.dispatchMessage(Handler.java:116)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at android.os.Looper.loopOnce(Looper.java:306)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at android.os.Looper.loop(Looper.java:416)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at android.app.ActivityThread.main(ActivityThread.java:9999)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at java.lang.reflect.Method.invoke(Native Method)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:613)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1074)  
2026-07-22 16:53:18.779 20286-20286 J4A                     com.fcw.app                          E  J4A_FindClass__catchAll: failed  
2026-07-22 16:53:18.779 20286-20286 J4A                     com.fcw.app                          E  J4A_FindClass__asGlobalRef__catchAll: failed: tv/danmaku/ijk/media/player/misc/IAndroidIO  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W  java.lang.reflect.InvocationTargetException  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at java.lang.reflect.Method.invoke(Native Method)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at io.dcloud.common.DHInterface.StandardFeature.executeAction(SourceFile:4)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at io.dcloud.common.DHInterface.StandardFeature.execute(SourceFile:1)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at io.dcloud.p.h1.a(SourceFile:127)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at io.dcloud.p.h1.b(SourceFile:7)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at io.dcloud.p.h1.processEvent(SourceFile:174)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at io.dcloud.p.k0.dispatchEvent(SourceFile:22)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at io.dcloud.common.core.ui.l.processEvent(SourceFile:2)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at io.dcloud.common.core.ui.h.exec(SourceFile:10)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at io.dcloud.common.core.ui.h$a.execute(SourceFile:5)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at io.dcloud.common.adapter.util.MessageHandler$1.handleMessage(SourceFile:3)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at android.os.Handler.dispatchMessage(Handler.java:116)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at android.os.Looper.loopOnce(Looper.java:306)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at android.os.Looper.loop(Looper.java:416)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at android.app.ActivityThread.main(ActivityThread.java:9999)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at java.lang.reflect.Method.invoke(Native Method)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:613)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1074)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W  Caused by: java.lang.UnsatisfiedLinkError: JNI_ERR returned from JNI_OnLoad in "/data/app/~~e7Nl7rPEulCRikn8AkpvTQ==/com.fcw.app-CEZA7DoqTeujbD-anjW05g==/lib/arm64/libijksdl.so"  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at java.lang.Runtime.loadLibrary0(Runtime.java:1090)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at java.lang.Runtime.loadLibrary0(Runtime.java:1012)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at java.lang.System.loadLibrary(System.java:1765)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at tv.danmaku.ijk.media.player.IjkMediaPlayer$1.loadLibrary(SourceFile:178)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at tv.danmaku.ijk.media.player.IjkMediaPlayer.loadLibrariesOnce(SourceFile:190)  
2026-07-22 16:53:18.779 20286-20286 System.err              com.fcw.app                          W      at io.dcloud.media.video.ijkplayer.media.IjkPlayerView._initMediaPlayer(SourceFile:367)  
2026-07-22 16:53:18.780 20286-20286 System.err              com.fcw.app                          W      at io.dcloud.media.video.ijkplayer.media.IjkPlayerView.init(SourceFile:517)  
2026-07-22 16:53:18.780 20286-20286 System.err              com.fcw.app                          W      at io.dcloud.media.video.ijkplayer.VideoPlayerView.<init>(SourceFile:57)  
2026-07-22 16:53:18.780 20286-20286 System.err              com.fcw.app                          W      at io.dcloud.media.video.DHVideoFrameItem.<init>(SourceFile:64)  
2026-07-22 16:53:18.780 20286-20286 System.err              com.fcw.app                          W      at io.dcloud.media.video.VideoPlayerMgr.createVideoPlayer(SourceFile:65)  
2026-07-22 16:53:18.780 20286-20286 System.err              com.fcw.app                          W      at io.dcloud.media.MediaFeatureImpl.VideoPlayer(SourceFile:44)  
2026-07-22 16:53:18.780 20286-20286 System.err              com.fcw.app                          W      ... 18 more  
2026-07-22 16:53:18.803 20286-20286 UIWidgetMgr             com.fcw.app                          E  new -- JSNWindow=_www/__uniappview.html  
2026-07-22 16:53:19.062 20286-3007  DpmTcmClient            com.fcw.app                          W  read failed bytes countRead: -1  
2026-07-22 16:53:24.146 20286-3196  Settings                com.fcw.app                          W  Setting auto_time has moved from android.provider.Settings.System to android.provider.Settings.Global, returning read-only value.  
2026-07-22 16:53:24.158 20286-3196  Settings                com.fcw.app                          W  Setting adb_enabled has moved from android.provider.Settings.Secure to android.provider.Settings.Global.  
2026-07-22 16:53:24.170 20286-3196  AndroidKeyStoreProvider com.fcw.app                          W  not found: 259dc97d3bd7b715f591147173c23787, Key not found (internal Keystore code: 7 message: system/security/keystore2/src/service.rs:157: while trying to load key info.  

                                                                                                    Caused by:  
                                                                                                        0: Legacy database is empty.  
                                                                                                        1: Error::Rc(r#KEY_NOT_FOUND))  
2026-07-22 16:53:24.184 20286-3196  AndroidKeyStoreProvider com.fcw.app                          W  not found: 259dc97d3bd7b715f591147173c23787, Key not found (internal Keystore code: 7 message: system/security/keystore2/src/service.rs:157: while trying to load key info.  

                                                                                                    Caused by:  
                                                                                                        0: Legacy database is empty.  
                                                                                                        1: Error::Rc(r#KEY_NOT_FOUND))  
2026-07-22 16:53:24.191 20286-3178  AndroidKeyStoreProvider com.fcw.app                          W  not found: 259dc97d3bd7b715f591147173c23787, Key not found (internal Keystore code: 7 message: system/security/keystore2/src/service.rs:157: while trying to load key info.  

                                                                                                    Caused by:  
                                                                                                        0: Legacy database is empty.  
                                                                                                        1: Error::Rc(r#KEY_NOT_FOUND))  
2026-07-22 16:53:24.227 20286-3178  AndroidKeyStoreProvider com.fcw.app                          W  not found: 259dc97d3bd7b715f591147173c23787, Key not found (internal Keystore code: 7 message: system/security/keystore2/src/service.rs:157: while trying to load key info.  

                                                                                                    Caused by:  
                                                                                                        0: Legacy database is empty.  
                                                                                                        1: Error::Rc(r#KEY_NOT_FOUND))  
2026-07-22 16:53:27.398 20286-2688  com.fcw.app             com.fcw.app                          I  HeapTask is not gc_task  
2026-07-22 16:53:27.659 20286-20286 DynamicFra...peedAware] com.fcw.app                          I  onEventHandled: info: InputEventInfo: mX = 0, mY = 0, mAction = 0, mVsyncTime = 902976137, mIsMoving = true, mUpdated = true  
2026-07-22 16:53:27.724 20286-20286 DynamicFra...peedAware] com.fcw.app                          I  onEventHandled: info: InputEventInfo: mX = 0, mY = 0, mAction = 1, mVsyncTime = 902976202, mIsMoving = false, mUpdated = true  
2026-07-22 16:53:27.725 20286-20286 OplusViewD...ViewHelper com.fcw.app                          D  dispatchTouchView action = 1  
2026-07-22 16:53:27.726 20286-20286 ViewRootImplExtImpl     com.fcw.app                          D  the up motion event handled by client, just return  
2026-07-22 16:53:28.432  3031-3057  app:pushservice         com.fcw.app                          I  HeapTask is not gc_task  
2026-07-22 16:53:28.495  3031-3063  System                  com.fcw.app                          W  A resource failed to call close.   
2026-07-22 16:54 负责人:无 分享
已邀请:
Ask小助手

Ask小助手

欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

感谢您的反馈。针对您提交的 Bug,我们进行了初步评审与分析,具体情况如下:

1. Bug 反馈内容完整性分析

  • BUG 描述:描述较为清晰,明确指出了在 Android 离线打包 build.gradle 中开启 minifyEnabled true(R8 混淆)后,video 组件表现为黑色色块且无法播放的问题。
  • 代码示例与复现步骤存在不足。您未提供可复现的代码示例及详细的复现步骤。虽然附带了关键的 logcat 日志,但缺少具体的项目环境配置(如 HBuilderX 版本、使用的 SDK 版本等)和操作步骤,导致官方人员难以直接复现并定位。
  • 预期与实际结果:实际结果描述符合逻辑,从日志看确实存在类找不到的异常。预期结果(正常播放)合理。
  • 分类信息:包含了平台分类(安卓),但缺少 HBuilderX 版本号等关键版本信息。

2. Bug 是否成立分析

结合您提供的 logcat 日志,该 Bug 成立

日志中明确报出以下异常:

java.lang.ClassNotFoundException: Didn't find class "tv.danmaku.ijk.media.player.misc.IAndroidIO"

本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent
这是由于开启 R8 混淆(minifyEnabled true)后,代码混淆机制将 video 组件底层依赖的 ijkplayer 相关类(如 tv.danmaku.ijk.media.player.misc.IAndroidIO)给混淆或移除了,导致 JNI 底层在反射调用 Java 层类时找不到对应类,从而引发 ClassNotFoundException,最终导致视频无法正常初始化和播放。

3. 解决方案与建议

要解决此问题,您需要在混淆规则文件(通常是 proguard-rules.pro)中添加 keep 规则,防止 ijkplayer 及 DCloud 相关底层类被混淆。请尝试在混淆配置中添加以下规则:

# 保留 ijkplayer 相关类,避免被混淆  
-keep class tv.danmaku.ijk.media.player.** { *; }  
# 保留 DCloud 底层 media 相关类  
-keep class io.dcloud.media.** { *; }

本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent

添加后重新打包,该问题应可解决。建议您在后续反馈 Bug 时补充完整的复现步骤和版本信息,以便我们更高效地处理。

内容为 AI 生成,仅供参考
3***@qq.com

3***@qq.com (作者)

已通过在proguard-rules.pro增加以下代码解决:

# 保护ijkplayer,防止R8混淆JNI依赖的Java接口  
-keep class tv.danmaku.ijk.media.player.** { *; }  
-keep interface tv.danmaku.ijk.media.player.** { *; }

要回复问题请先登录注册