Android 中的视频播放第三方库vitamio的导入的各种坑以及解决方法

以下内容不是使用教程,主要是我按照网上的一些教程使用vitamio掉入的坑,如果你也入坑了,可以在此处搜一下是否有你要的答案。

1. 下载

github下载地址(选择最新版本即可):https://github.com/yixia/VitamioBundle/releases

vitamio官网(它还有一个产品,做小视频拍摄和特效的):https://www.vitamio.org/


2. 解压文件,将vitamio导入Android Studio中

        打开Android Studio,  File -> New -> Import Moudle,选择解压文件夹下的 vitamio 文件夹


3. 此时会报错Could not find property 'ANDRPID_BUILD_SDK_VERSION' on project ':vitamio'

        (1). 打开要引入vitamio的app module 中的build.gradle,然后在dependencies 中添加:compile project(':vitamio') 

(2). 将引入vitamio的app module 中的build.gradle中的 compileSdkVersion 和buildToolsVersion,还有defaultConfig节点里的minSdkVersion和TargetSdkVersion以上四行信息,都复制到vitamio目录下的build.gradle的相应位置即可


4. 在自己的app module的AndroidManifest.xml的Application节点内添加:

<activity
    android:name="io.vov.vitamio.activity.InitActivity"
    android:configChanges="orientation|screenSize|smallestScreenSize|keyboard|keyboardHidden|navigation"
    android:launchMode="singleTop"
    android:theme="@android:style/Theme.NoTitleBar"
    android:windowSoftInputMode="stateAlwaysHidden" />


编译报错合集:

1. Error:Circular reference between projects: :vitamio -> :vitamio
        原因:此处是因为按照网上教程说将自己App中的build.gradle复制到vitamio中的build.gradle,然后自己把全部信息都复制过来了,把compile project(':vitamio')也复制到了vitamio中的build.gradle导致循环引用。

解决办法:不要将自己App中的build.gradle全部信息都复制到vitamio中的build.gradle。按照上面第三步操作即可。如果你vitamio的build.gradle已经修改,必须还原(撤销)为最初状态,再按照第三步进行,如果还原不了,就再从解压包解压一下替换。

2.D:\FCJ\Android\AndroidStudioProjects\FucaijinApplication\sample\src\main\AndroidManifest.xml:13:9-43 Error:
Attribute application@icon value=(@mipmap/sample_icon) from AndroidManifest.xml:13:9-43
is also present at [FucaijinApplication:vitamio:unspecified] AndroidManifest.xml:16:9-45 value=(@drawable/ic_launcher).
Suggestion: add 'tools:replace="android:icon"' to <application> element at AndroidManifest.xml:11:5-30:19 to override.
D:\FCJ\Android\AndroidStudioProjects\FucaijinApplication\sample\src\main\AndroidManifest.xml:14:9-41 Error:
Attribute application@label value=(@string/app_name) from AndroidManifest.xml:14:9-41
is also present at [FucaijinApplication:vitamio:unspecified] AndroidManifest.xml:17:9-32 value=(Vitamio).

Suggestion: add 'tools:replace="android:label"' to <application> element at AndroidManifest.xml:11:5-30:19 to override.

        原因:以上报错信息说的是,我自己app下的AndroidManifest.xml文件里的application@icon value=(@mipmap/sample_icon)和application@label value=(@string/app_name)在Vitamio的AndroidManifest.xml都有了,重复了,建议在使用<application>节点中添加属性tools:replace="android:icon。

        解决方法:此处我是这么解决的,删除Vitamio的AndroidManifest.xml中的图标和app名称属性即可(application@icon value=(@mipmap/sample_icon)和application@label value=(@string/app_name))。


3. xxx.so has text relocation
原因:因为在编译.so文件时的targetSdkVersion低于当前的targetSdkVersion。
解决办法:将module的build.gradle中targetSdkVersion改小,直到不在报此错误。

猜你喜欢

转载自blog.csdn.net/fucaijin/article/details/80948383