Video Plyaer插件导致找不到符号Build.VERSION_CODES.R问题解决
kelvin 发布于 2021-10-16

Ionic项目中安装videoplayer插件后,打包报错了,如下提示

> Task :app:compileReleaseJavaWithJavac FAILED

F:\platforms\android\app\src\main\java\com\moust\cordova\videoplayer\VideoPlayer.java:123: 错误: 找不到符号

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {

                                                        ^

  符号:   变量 R

  位置: 类 VERSION_CODES

F:\platforms\android\app\src\main\java\com\moust\cordova\videoplayer\VideoPlayer.java:124: 错误: 找不到符号

            dialog.getWindow().getInsetsController().hide(WindowInsets.Type.statusBars());

                                                                      ^

  符号:   变量 Type

  位置: 类 WindowInsets

F:\platforms\android\app\src\main\java\com\moust\cordova\videoplayer\VideoPlayer.java:124: 错误: 找不到符号

            dialog.getWindow().getInsetsController().hide(WindowInsets.Type.statusBars());

                              ^

  符号:   方法 getInsetsController()

  位置: 类 Window

3 个错误

 

FAILURE: Build failed with an exception.

 

因为项目使用的Android SDK是29,想改为Android R担心引起其他问题,看了插件的源码比较简单,想着直接改源码算了,在platforms\android\app\src\main\java\com\moust\cordova\videoplayer下找到源文件,将相关代码注释了,如下

 dialog.setOnDismissListener(this);
        // if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
        //     dialog.getWindow().getInsetsController().hide(WindowInsets.Type.statusBars());
        // } else {
            dialog.getWindow().setFlags(LayoutParams.FLAG_FULLSCREEN, LayoutParams.FLAG_FULLSCREEN);
        // }

之后打包可以正常通过,没有报错,运行也可以正常显示视频。

 

 

kelvin
关注 私信
文章
92
关注
0
粉丝
0