编译ijkplayer

1、环境
以下工具请到移动硬盘下载,或者参考笔记:尝试ijkplayer环境搭建工具下载地址
腾讯云 Ubuntu Server 16.04.1 LTS 64位 可通过管理平台的登录打开用户界面版
jdk-8u112-linux-x64.tar.gz
android-studio-ide-145.3276617-linux.zip
android-ndk-r10e-linux-x86_64.bin
android-sdk_r24.4.1-linux.tgz
gradle-2.14.1-bin.zip
上述工具整到一个目录下如/data,解压缩即可。如下:

但注意,最后几部执行./compile-ffmpeg.sh all时,会报错,export: (64-bit): bad variable name。这里就需要把ANDROID_NDK/RELEASE.TXT的r10e-rc4 (64-bit)的(64-bit)去掉才不错的
2、命令执行
执行sudo -s ,之后可以不带sudo执行。
修改文本使用sudo gedit /etc/profile
环境变量同时需要修改sudo gedit ~/.bashrc
3、环境变量
/etc/profile 和 ~/.bashrc 最后加上下面的环境变量,并且source /etc/profile , source ~/.bashrc 此时不用带sudo,因为执行了sudo -s
export JAVA_HOME=/home/ubuntu/Documents/jdk1.8.0_112
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export NDK=/home/ubuntu/Documents/android-ndk-r10e
export PATH=$NDK:$PATH
export ANDROID_NDK=/home/ubuntu/Documents/android-ndk-r10e
export PATH=$ANDROID_NDK:$PATH
export ANDROID_SDK=/home/ubuntu/Documents/android-sdk-linux
export PATH=$ANDROID_SDK:$PATH

4、安卓环境问题
需要执行sudo apt-get install lib32z1 lib32ncurses5  lib32stdc++6
sudo apt-get install git
sudo apt-get install yasm
并修改 /opt/ Android-studio/bin/studio.sh
# ---------------------------------------------------------------------
# Locate a JDK installation directory which will be used to run the IDE.
# Try (in order): STUDIO_JDK, ../jre, JDK_HOME, JAVA_HOME, "java" in PATH.
# ---------------------------------------------------------------------
# 在这个位置插入
JDK_HOME=/opt/java/jdk1.8.0_112
if [ -n "$STUDIO_JDK" -a -x "$STUDIO_JDK/bin/java" ]; then
if [ -n "$STUDIO_JDK" -a -x "$STUDIO_JDK/bin/java" ]; then
这一步非常关键, 否则无法启动 studio.sh, 我就是在这里折腾很很久.
打开terminal,输入以下命令
cd  /opt/android-studio/bin/
sudo chmod 777 studio.sh
sudo studio.sh
5、图形界面打开androidstudio后
出现unable to access android sdk add-on list 错误,选择cancel
解决方案:在 Android Studio 安装目录 bin/idea.properties 文件最后追加一句disable.android.first.run=true
然后再次打开,不报错。
紧接着会提示Your Android SDK is missing, out of date, or is missing templates.You can configure your SDK via Configure | Project Defaults | Project Structure | SDKs
此时点击右下侧Configure -> Project Defaults -> Project Structure   可以看到这个页面包含两个指定的位置 1.  Android SDK  2. JDK  那就指定把.
此时配置android-sdk_r24.4.1-linux.tgz解压缩的文件(解压后为android-sdk-linux)
同时在android studio中配置ndk、配置jdk
此时回到初始界面,随便选择一个工程。
点击sdk manager

将sdk manage窗口

下面的这三个全部下载。
重新检查一遍file->project structure下的jdk、sdk。

关闭android studio
6、编译ijkplayer
注意,如果之前执行了sudo -s。下面执行命令如果用sudo ./XXXX.sh会报找不到ANDROID_SDK和AN
git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android
cd ijkplayer-android
本次编译的版本是0.7.4
git checkout -B latest k0.7.4
./init-android.sh
cd android/contrib
./compile-ffmpeg.sh clean
./compile-ffmpeg.sh all
cd ..
./compile-ijk.sh all
修改android/ijkplayer下面的build.properties,对照修改(如果此文件存在android {},则连同其和括号内的内容都注释掉)
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.1.3'
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.4'
//此版本的大小根据 https://github.com/dcendents/android-maven-gradle-plugin/releases网址的版本对应gradle而定
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7'
//此版本大小根据 https://github.com/bintray/gradle-bintray-plugin/releases网址的版本的时间对应上述maven-gradle-plugin的时间而定
}
}
allprojects {
repositories {
jcenter()
}
}
ext {
compileSdkVersion = 24
buildToolsVersion = "25.0.2"
targetSdkVersion = 23
versionCode = 700400
versionName = "0.7.4"
}
wrapper {
gradleVersion = '2.14.1'
}
再次打开android studio ,选择open existing project, 定位到 /data/ijkplayer-android/android/ijkplayer,然后打开该项目,
然后执行build菜单下的clean project
然后ijkplayer下存在了so、aar等文件和build文件夹
7、完成
如果正确编译的话,会分别在ijkplayer-arm64、ijkplayer-armv5、ijkplayer-armv7a、ijkplayer-x86、ijkplayer-x86_64这些项目的src/main/libs/对应的名称 目录下分别生成libijkffmpeg.so、libijkplayer.so、libijksdl.so这三个so文件
编译成功后将目录下android/ijkplayer项目导入Android Studio即可运行
如果不行,重复步骤5

关于遇到的错误
1、fail resolve com.android.support:appcompat-v7:24.+ 据参考资料[1][2]的提示,需要通过Android SDK Manager安装Android Support Repository
2、提示fail to find build tools android studio sdkmanager中 安装 下载sdk tools。或者重复步骤5
android { compileSdkVersion 19 buildToolsVersion '19.0.1'}
4、SDK location not found. Define location with sdk.dir in the local.properties file or with 重新打开android studio,配置sdk地址(如截图),jdk等
5、其他错误 需检查gradle版本是会否正确,要按照作者在github的ijkplayer下的给的环境设置
如需 我编译的源码及编译后文件
加群425783133
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园整体解决方案是响应国家教育信息化政策,结合教育改革和技术创新的产物。该方案以物联网、大数据、人工智能和移动互联技术为基础,旨在打造一个安全、高效、互动且环保的教育环境。方案强调从数字化校园向智慧校园的转变,通过自动数据采集、智能分析和按需服务,实现校园业务的智能化管理。 方案的总体设计原则包括应用至上、分层设计和互联互通,确保系统能够满足不同用户角色的需求,并实现数据和资源的整合与共享。框架设计涵盖了校园安全、管理、教学、环境等多个方面,构建了一个全面的校园应用生态系统。这包括智慧安全系统、校园身份识别、智能排课及选课系统、智慧学习系统、精品录播教室方案等,以支持个性化学习和教学评估。 建设内容突出了智慧安全和智慧管理的重要性。智慧安全管理通过分布式录播系统和紧急预案一键启动功能,增强校园安全预警和事件响应能力。智慧管理系统则利用物联网技术,实现人员和设备的智能管理,提高校园运营效率。 智慧教学部分,方案提供了智慧学习系统和精品录播教室方案,支持专业级学习硬件和智能化网络管理,促进个性化学习和教学资源的高效利用。同时,教学质量评估中心和资源应用平台的建设,旨在提升教学评估的科学性和教育资源的共享性。 智慧环境建设则侧重于基于物联网的设备管理,通过智慧教室管理系统实现教室环境的智能控制和能效管理,打造绿色、节能的校园环境。电子班牌和校园信息发布系统的建设,将作为智慧校园的核心和入口,提供教务、一卡通、图书馆等系统的集成信息。 总体而言,智慧校园整体解决方案通过集成先进技术,不仅提升了校园的信息化水平,而且优化了教学和管理流程,为学生、教师和家长提供了更加便捷、个性化的教育体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值