编译好的ijkplayer导入AS工程进行二次开发

关于ijkplayer的编译,可以先看前面的文章--ijkplayer编译流程详解

编译好之后,导入AS工程,导入的时候还是遇到了一些问题,这里记录一下。

1、ERROR: Failed to resolve: com.android.support:appcompat-v7:23.0.1

使用androidstudio打开android/ijkplayer,会自动进行相关配置和下载,进行工程sync构建,但是发现sync失败,报错如下:

大概意思就是需要添加google()仓库去拉取一些必要的支持。

那么需要去ijkplayer/build.gradle中添加如下红色圈中的内容:

 2、Could not find method google() for arguments [] on repository container.

在第1步之后再次sync,会报如下错误:

 原因是因为gradlewrapper版本太低,不支持google()这样的写法,那么需要将gradlewrapper版本使用高一些的,我这里是替换为gradle-5.6.4,

修改ijkplayer/build.gradle下的这些内容:

 还有ijkplayer\gradle\wrapper\gradle-wrapper.properties下的:

 同时相应的还需要调整gradle的版本相对高一些的,我这里是设置为3.1.4,修改ijkplayer/build.gradle下的这些内容:

 3、ERROR: All flavors must now belong to a named flavor dimension

第2步之后sync,报如下的错:

 这个是跟渠道相关,我们暂时不理会,为了能编译通过,修正这个可以去ijkplayer\ijkplayer-example\build.gradle下添加如下内容,双引号中的内容可以自己随意定义:

这一步之后,发现sync成功了,如下:

4、error: '@@array/pref_entries_player' is incompatible with attribute android:entries (attr) reference.

成功之后,接下来就可以编译了,点击编译,发现报了如下的错:

虽然不知道为什么源码本身这里会有2个@,但是2个@是不对的,需要去掉一个@。

去ijkplayer\ijkplayer-example\src\main\res\xml\settings.xml下修改:

这一步修改之后,编译也终于完成了:

 编译成功之后,ijkplayer算是成功导入AS工程了,接下来就可以愉快的进行二次开发了。

代码下除了各个CPU平台对应的一些文件夹外,最主要的播放器例子代码就是下图中的ijkplayer-example:

 可以基于这个example进行自己的一些定制开发。

猜你喜欢

转载自blog.csdn.net/weekend_y45/article/details/124615468