在ubuntu下编译ijkplayer-android

我前面一片文字讲的是在windows的cygwin中去编译,那真是各种坑啊,软链接无法识别,x86和86_64的so文件无法编译出来等等,我折腾了几天还是没有在cygwin中完美编译ijkplayer,今天我用了一下同事的ubuntu的电脑,变异ijkplayer-Android真的是很快,很快的。

1.前提:

下面是官方的提示:

<code class="language-xml hljs  has-numbering" style="padding: 0px; border-radius: 0px; color: inherit; font-family: "Source Code Pro", monospace;font-size:undefined; display: block; white-space: pre; -ms-word-wrap: normal; box-sizing: border-box;"># install homebrew, git, yasm
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install git
brew install yasm
# 需要配置 SDK和NDK路径
# add these lines to your ~/.bash_profile or ~/.profile
# export ANDROID_SDK=<span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="color: rgb(0, 0, 136); box-sizing: border-box;">your</span> <span class="hljs-attribute" style="color: rgb(102, 0, 102); box-sizing: border-box;">sdk</span> <span class="hljs-attribute" style="color: rgb(102, 0, 102); box-sizing: border-box;">path</span>></span>
# export ANDROID_NDK=<span class="hljs-tag" style="color: rgb(0, 102, 102); box-sizing: border-box;"><<span class="hljs-title" style="color: rgb(0, 0, 136); box-sizing: border-box;">your</span> <span class="hljs-attribute" style="color: rgb(102, 0, 102); box-sizing: border-box;">ndk</span> <span class="hljs-attribute" style="color: rgb(102, 0, 102); box-sizing: border-box;">path</span>></span>
# Cygwin下需要安装的软件
# on Cygwin (unmaintained)
# install git, make, yasm</code><ul class="pre-numbering" style="list-style: none; padding: 6px 0px 40px; left: 0px; top: 0px; width: 50px; text-align: right; border-right-color: rgb(221, 221, 221); border-right-width: 1px; border-right-style: solid; position: absolute; box-sizing: border-box; background-color: rgb(238, 238, 238);"><li style="padding: 0px 5px; box-sizing: border-box;">1</li><li style="padding: 0px 5px; box-sizing: border-box;">2</li><li style="padding: 0px 5px; box-sizing: border-box;">3</li><li style="padding: 0px 5px; box-sizing: border-box;">4</li><li style="padding: 0px 5px; box-sizing: border-box;">5</li><li style="padding: 0px 5px; box-sizing: border-box;">6</li><li style="padding: 0px 5px; box-sizing: border-box;">7</li><li style="padding: 0px 5px; box-sizing: border-box;">8</li><li style="padding: 0px 5px; box-sizing: border-box;">9</li><li style="padding: 0px 5px; box-sizing: border-box;">10</li><li style="padding: 0px 5px; box-sizing: border-box;">11</li></ul><ul class="pre-numbering" style="list-style: none; padding: 6px 0px 40px; left: 0px; top: 0px; width: 50px; text-align: right; border-right-color: rgb(221, 221, 221); border-right-width: 1px; border-right-style: solid; position: absolute; box-sizing: border-box; background-color: rgb(238, 238, 238);"><li style="padding: 0px 5px; box-sizing: border-box;">1</li><li style="padding: 0px 5px; box-sizing: border-box;">2</li><li style="padding: 0px 5px; box-sizing: border-box;">3</li><li style="padding: 0px 5px; box-sizing: border-box;">4</li><li style="padding: 0px 5px; box-sizing: border-box;">5</li><li style="padding: 0px 5px; box-sizing: border-box;">6</li><li style="padding: 0px 5px; box-sizing: border-box;">7</li><li style="padding: 0px 5px; box-sizing: border-box;">8</li><li style="padding: 0px 5px; box-sizing: border-box;">9</li><li style="padding: 0px 5px; box-sizing: border-box;">10</li><li style="padding: 0px 5px; box-sizing: border-box;">11</li></ul>



在ubuntu环境下,进入home/xxx/ 
xxx代表你的名字,进入目录后按Ctrl+H就可以看到隐藏的文件,你就可以看到: 

.bashrc 文件,这里可以配置类似windows下的path环境变量, 
打开后加上你的ANDROID_NDK和ANDROID_SDK 路径,我的配置如下:

<code class="language-xml hljs  has-numbering" style="padding: 0px; border-radius: 0px; color: inherit; font-family: "Source Code Pro", monospace;font-size:undefined; display: block; white-space: pre; -ms-word-wrap: normal; box-sizing: border-box;">NDK=/home/hudong/platform-tools/android-ndk-r11b
export NDK
ADB=/home/hudong/Android/Sdk/platform-tools
export ADB
# 我们的ANDROID_NDK和ANDROID_SDK 路径
ANDROID_NDK=/home/hudong/platform-tools/android-ndk-r11b
export ANDROID_NDK
ANDROID_SDK=/home/hudong/android-sdk
export ANDROID_SDK 
# 加入到PATH路径
PATH=${PATH}:${NDK}:${ADB}:${ANDROID_NDK}:&{ANDROID_SDK}</code><code class="language-xml hljs  has-numbering" style="padding: 0px; border-radius: 0px; color: inherit; font-family: "Source Code Pro", monospace;font-size:undefined; display: block; white-space: pre; -ms-word-wrap: normal; box-sizing: border-box;">
</code><code class="language-xml hljs  has-numbering" style="padding: 0px; border-radius: 0px; color: inherit; font-family: "Source Code Pro", monospace;font-size:undefined; display: block; white-space: pre; -ms-word-wrap: normal; box-sizing: border-box;"></code><pre class="prettyprint" style="padding: 5px 5px 5px 60px; border-radius: 0px; border: 1px solid rgba(128, 128, 128, 0.074509); line-height: 1.45; font-family: "Source Code Pro", monospace; margin-top: 0px; margin-bottom: 1.1em; white-space: nowrap; position: relative; -ms-word-break: break-all; -ms-overflow-x: auto; -ms-overflow-y: hidden; -ms-word-wrap: break-word; box-sizing: border-box;" name="code"><code class="language-xml hljs  has-numbering" style="padding: 0px; border-radius: 0px; color: inherit; font-family: "Source Code Pro", monospace;font-size:undefined; display: block; white-space: pre; -ms-word-wrap: normal; box-sizing: border-box; background-color: transparent;">NDK=/home/melot/android-ndk-r11b
export NDK
# 我们的ANDROID_NDK和ANDROID_SDK 路径
ANDROID_NDK=/home/melot/android-ndk-r11b
export ANDROID_NDK
ANDROID_SDK=/data/android/android-sdk-linux
export ANDROID_SDK 
# 加入到PATH路径
PATH=${PATH}:${NDK}:${ANDROID_NDK}:&{ANDROID_SDK}</code><div>
</div>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
 

在编译之前我们需要安装一些软件,make我们就不用安装了,make是在cygwin下需要安装的, 
至于Git我想大家都安装了吧,要是没有安装的话输入下面的命令就可以安装git和yasm了:

<code class="language-java hljs  has-numbering" style="padding: 0px; border-radius: 0px; color: inherit; font-family: "Source Code Pro", monospace;font-size:undefined; display: block; white-space: pre; -ms-word-wrap: normal; box-sizing: border-box;">sudo apt-get update
sudo apt-get install git
sudo apt-get install yasm</code><ul class="pre-numbering" style="list-style: none; padding: 6px 0px 40px; left: 0px; top: 0px; width: 50px; text-align: right; border-right-color: rgb(221, 221, 221); border-right-width: 1px; border-right-style: solid; position: absolute; box-sizing: border-box; background-color: rgb(238, 238, 238);"><li style="padding: 0px 5px; box-sizing: border-box;">1</li><li style="padding: 0px 5px; box-sizing: border-box;">2</li><li style="padding: 0px 5px; box-sizing: border-box;">3</li></ul><ul class="pre-numbering" style="list-style: none; padding: 6px 0px 40px; left: 0px; top: 0px; width: 50px; text-align: right; border-right-color: rgb(221, 221, 221); border-right-width: 1px; border-right-style: solid; position: absolute; box-sizing: border-box; background-color: rgb(238, 238, 238);"><li style="padding: 0px 5px; box-sizing: border-box;">1</li><li style="padding: 0px 5px; box-sizing: border-box;">2</li><li style="padding: 0px 5px; box-sizing: border-box;">3</li></ul>


2.系统版本:

这里写图片描述

3.编译步骤:

<code class="language-xml hljs  has-numbering" style="padding: 0px; border-radius: 0px; color: inherit; font-family: "Source Code Pro", monospace;font-size:undefined; display: block; white-space: pre; -ms-word-wrap: normal; box-sizing: border-box;"># 直接拉取源代码到本地
git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android
cd ijkplayer-android

# 检查更新代码
git checkout -B latest k0.5.1

# 初始化,会把ffmpeg的代码拉取到本地等等操作
./init-android.sh

cd android/contrib
./compile-ffmpeg.sh clean
# 编译ffmpeg软解码库
./compile-ffmpeg.sh all

cd ..
# 会生成各种版本的so文件
./compile-ijk.sh all</code><ul class="pre-numbering" style="list-style: none; padding: 6px 0px 40px; left: 0px; top: 0px; width: 50px; text-align: right; border-right-color: rgb(221, 221, 221); border-right-width: 1px; border-right-style: solid; position: absolute; box-sizing: border-box; background-color: rgb(238, 238, 238);"><li style="padding: 0px 5px; box-sizing: border-box;">1</li><li style="padding: 0px 5px; box-sizing: border-box;">2</li><li style="padding: 0px 5px; box-sizing: border-box;">3</li><li style="padding: 0px 5px; box-sizing: border-box;">4</li><li style="padding: 0px 5px; box-sizing: border-box;">5</li><li style="padding: 0px 5px; box-sizing: border-box;">6</li><li style="padding: 0px 5px; box-sizing: border-box;">7</li><li style="padding: 0px 5px; box-sizing: border-box;">8</li><li style="padding: 0px 5px; box-sizing: border-box;">9</li><li style="padding: 0px 5px; box-sizing: border-box;">10</li><li style="padding: 0px 5px; box-sizing: border-box;">11</li><li style="padding: 0px 5px; box-sizing: border-box;">12</li><li style="padding: 0px 5px; box-sizing: border-box;">13</li><li style="padding: 0px 5px; box-sizing: border-box;">14</li><li style="padding: 0px 5px; box-sizing: border-box;">15</li><li style="padding: 0px 5px; box-sizing: border-box;">16</li><li style="padding: 0px 5px; box-sizing: border-box;">17</li><li style="padding: 0px 5px; box-sizing: border-box;">18</li></ul><ul class="pre-numbering" style="list-style: none; padding: 6px 0px 40px; left: 0px; top: 0px; width: 50px; text-align: right; border-right-color: rgb(221, 221, 221); border-right-width: 1px; border-right-style: solid; position: absolute; box-sizing: border-box; background-color: rgb(238, 238, 238);"><li style="padding: 0px 5px; box-sizing: border-box;">1</li><li style="padding: 0px 5px; box-sizing: border-box;">2</li><li style="padding: 0px 5px; box-sizing: border-box;">3</li><li style="padding: 0px 5px; box-sizing: border-box;">4</li><li style="padding: 0px 5px; box-sizing: border-box;">5</li><li style="padding: 0px 5px; box-sizing: border-box;">6</li><li style="padding: 0px 5px; box-sizing: border-box;">7</li><li style="padding: 0px 5px; box-sizing: border-box;">8</li><li style="padding: 0px 5px; box-sizing: border-box;">9</li><li style="padding: 0px 5px; box-sizing: border-box;">10</li><li style="padding: 0px 5px; box-sizing: border-box;">11</li><li style="padding: 0px 5px; box-sizing: border-box;">12</li><li style="padding: 0px 5px; box-sizing: border-box;">13</li><li style="padding: 0px 5px; box-sizing: border-box;">14</li><li style="padding: 0px 5px; box-sizing: border-box;">15</li><li style="padding: 0px 5px; box-sizing: border-box;">16</li><li style="padding: 0px 5px; box-sizing: border-box;">17</li><li style="padding: 0px 5px; box-sizing: border-box;">18</li></ul>



执行./compile-ffmpeg.sh all是编译ffmpeg,需要的时间久一点,只要你的配置和软件安装没有问题你就可以看到: 

说明ffmpeg编译成功了,接下来就是编译ijkplayer了。

4.导入Android Studio:

这个不用我说明了吧,跟导入普通的项目是一样的: 
这里写图片描述

5.最新精简源代码:

code地址: https://github.com/Dawish/ijkplayer-demo

精简代码后的目录:

这里写图片描述

Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
项目描述:建立购物小商城平台. 实现了前台页面系统。 技术描述:通过Spring 主框架来管理Struts2和Hibernate 框架搭建的电商小平台,用MySQL数据库并创建了表有用户表,订单表,商品表,商品分类表,商品内容表,购物车表等来存储数据。用到hibernate….zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看rEADME.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 、5资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 、2项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
玉磨铁路备件智能管理系统,Vue全家桶、element-ui组件库、vue-pdf、qrcodejs2插件、canvas,该项目主要用于对于铁路设备的统计管理,主要模块包括: 1. 系统设置(仓库管理、供应商管理、用户管理) 2. 设备入库 3. 设备出库 4. 查询 5. 统….zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值