基于ijkPlayer的安卓播放器开发
具体开发过程详见https://blog.csdn.net/qq_40176716/article/details/84582163
坑一:
在开发过程中,更新到28以后,某个第三方的包不兼容,报错了
AAPT: error: <item> inner element must either be a resource reference or empty.
定位到错误
最新书写规范详见:https://developer.android.com/guide/topics/resources/more-resources#Id
解决方案:
由于第三方包不可修改,所以在自己项目的values文件夹下建立ids.xml,并将修改后的代码放入,AS会更换build。
在解决问题过程中有建议在gradle.properties中添加android.enableAapt2=false,这个方案已经在18年底被removed,不再适用。
坑二:
上个问题解决之后,出现了新的问题
报加载的so文件找不到,根据错误得知,使用的安卓模拟器有x86进程,加载本地库的时候会先找到arm64的文件夹来编译,而项目中并没有arm64的文件夹,所以报错。
根据错误信息,在Module的build.gradle中引入 implementation 'tv.danmaku.ijk.media:ijkplayer-x86:0.8.8',并Sync now,重新发布app,错误消失。
以上就是在开发安卓播放器过程中遇到的因为版本不对和架构不对的问题,希望能够给大家带来帮助。
祝程序员们多敲代码,少入坑,从此远离ICU。