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);
// }
之后打包可以正常通过,没有报错,运行也可以正常显示视频。