文章目录

  • 开发环境搭建
    • windows 开发环境搭建
      • Qt在线安装
      • Qt 安卓开发环境搭建
    • linux 开发环境搭建
  • 开发测试
  • 开发引入第三方库
  • 参考文档

推荐一个零声学院免费公开课程,个人觉得老师讲得不错,分享给大家: Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK等技术内容,立即学习

最近在做Qt 安卓相关的应用,记录一下搭建安卓开发环境
本章节主要实现Qt 安卓开发环境

开发环境搭建

安卓开发环境搭建,目前在windows和linux环境下进行搭建。下面分别介绍两个环境下搭建。我使用的Qt版本是Qt5.15.2,这个需要联网下载。
下载地址 https://download.qt.io/official_releases/online_installers/

这里,我下载了qt-unified-windows-x86-online.exe和qt-unified-linux-x64-online.run

windows 开发环境搭建

windows下安装搭建android开发环境

Qt在线安装

首先需要下载在线安装工具,上面下载的qt-unified-windows-x86-online.exe,双击打开软件

这里需要在Qt官网上注册一个账号。登陆账号
下面步骤按默认来,直到出现下面界面,一定要选中android

然后下一步直到安装完成。

Qt 安卓开发环境搭建

待上面安卓完成后,打开Qt开发环境,通过工具->选项->设备->android。如下图

需要安装jdk,这里面我已经安装好了,这里面不做过多介绍,可以自行网上百度,jdk配置。
接下来安装安卓SDK和NDK
SDK安装,需要先点击浏览按钮,选择你要将你的SDK安装在哪,然后点击Set Up SDK,按照默认的来就可以了。
android_openssl,这个选中安装文件夹,点击Download OpenSSL按钮,即可下载,有可能因为网络原因无法下载,可以在下面的百度网盘地址下载。
> 下面中

下面是安装配置完成后的界面

开发环境百度云下载:
链接:https://pan.baidu.com/s/1ewKbIB1PPN2F4gg1vaPj0w
提取码:ezlx
上面可以直接下载下来,解压,进行设置相关目录就可以了。

linux 开发环境搭建

inux开发环境,这里面我选择centos7.6 版本,这里方便做linux相关项目的移植。
首先,将下载好的qt-unified-linux-x64-online.run,双击打开。

这里面前面和安装一样
这里面,安装完成后发现无法打开Qt Creater,发现是环境有问题,这里面解决方案是,安装另一个QtCreater。经过多次测试,发现qt-creator-opensource-linux-x86_64-4.13.3.run这个版本的QtCreater是OK的,因为需要下载Android开发环境,别的版本可能会下载不下来。
下载地址:https://download.qt.io/archive/qtcreator/4.13/4.13.3/qt-creator-opensource-linux-x86_64-4.13.3.run
这里面,安装配置和windows一致

开发测试

开发环境,选择Android Qt 5.15.2 Clang Multi-Abi。



简单的测试

开发引入第三方库

这里,使用vlc开发环境
先下载vlc安卓开发库:https://mirrors.aliyun.com/videolan/vlc-android/3.4.3/

将下载下来的apk改成zip,解压,

获取libvlc.so文件,就能正常的使用vlc了。

测试vlc部分代码

#include "widget.h"#include <QApplication>
#include <vlc/vlc.h>
#include <QDebug>
#include <QMutex>
#include "main.h"struct Context {QMutex mutex;uchar *pixels;
};CIns* CIns::m_ins = nullptr;static void *lock(void *opaque, void **planes)
{struct Context *ctx = (struct Context *)opaque;ctx->mutex.lock();// 告诉 VLC 将解码的数据放到缓冲区中*planes = ctx->pixels;return nullptr;
}// 获取 argb 图片并保存到文件中
static void unlock(void *opaque, void *picture, void *const *planes)
{Q_UNUSED(picture);struct Context *ctx = (struct Context *)opaque;unsigned char *data = static_cast<unsigned char *>(*planes);static int frameCount = 1;QImage image(data, 512, 288, QImage::Format_ARGB32);
//    image.save(QString("frame_%1.png").arg(frameCount++));emit CIns::Ins()->SigImage(image);ctx->mutex.unlock();
}static void display(void *opaque, void *picture)
{Q_UNUSED(picture);(void)opaque;
}int main(int argc, char *argv[])
{QApplication a(argc, argv);Widget w;w.show();QObject::connect(CIns::Ins(), &CIns::SigImage, &w, &Widget::SlotImage);const char* const vlc_args[] = {"--demux=h264","--ipv4","--no-prefer-system-codecs","--rtsp-caching=300","--network-caching=500",    //网络额外缓存值 (ms)"--rtsp-frame-buffer-size=10000000","--rtsp-tcp",                //RTSP采用TCP传输方式};libvlc_instance_t * inst;libvlc_media_player_t *mp;libvlc_media_t *m;struct Context ctx;ctx.pixels = new uchar[512 * 288 * 4];memset(ctx.pixels, 0, 512 * 288 * 4);//libvlc_time_t length;/* Load the VLC engine */inst = libvlc_new (sizeof(vlc_args) / sizeof(vlc_args[0]), vlc_args);QString strUrl = "rtsp://wowzaec2demo.streamlock.net/vod/mp4";m = libvlc_media_new_location (inst, strUrl.toStdString().c_str());mp = libvlc_media_player_new_from_media (m);
//    libvlc_media_player_set_hwnd(mp, (void *)wgt.winId());// 设置回调,用于提取帧或者在界面上显示。libvlc_video_set_callbacks(mp, lock, unlock, display, &ctx);libvlc_video_set_format(mp, "RGBA", 512, 288, 512 * 4);libvlc_media_release (m);libvlc_media_player_play (mp);int ret = a.exec();libvlc_media_player_stop (mp);// Free the media_playerlibvlc_media_player_release (mp);libvlc_release (inst);return ret;

测试vlc播放

完整代码地址:
链接:https://pan.baidu.com/s/1m9X3zvPqNEaTPlGhnWR1VQ
提取码:gok4

参考文档

配置Qt5.12.3的安卓开发环境
Qt5.14.2在Android项目中添加第三方库(.a,.so)
android开发cmake编译引入第三方库的常用写法

Qt android 开发环境搭建相关推荐

  1. mac qt android开发环境搭建,Mac 下 PyQt5 的开发环境搭建

    准备Qt的开发工具: 下载安装 py 的运行环境: 1.安装brew: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubuserconten ...

  2. Qt跨平台开发环境搭建

    Qt跨平台开发环境搭建 1.     背景介绍 Qt是一个跨平台的C++图形用户界面应用程序框架.它提供给应用程序开发者丰富的图形用户界面所需的所有功能.而且,Qt很容易扩展,并且允许真正地组件编程. ...

  3. Android开发环境搭建及常见问题解决方法

    Android开发环境搭建及常见问题解决方法 参考文章: (1)Android开发环境搭建及常见问题解决方法 (2)https://www.cnblogs.com/rwxwsblog/p/476978 ...

  4. Android开发环境搭建全程演示(jdk+eclip+android sdk)

    Android开发环境搭建全程演示(jdk+eclip+android sdk) http://files.cnblogs.com/Bany/Android%E5%BC%80%E5%8F%91%E7% ...

  5. Android开发环境搭建全程演示(jdk+eclipse+android sdk)

    全程演示android开发环境的搭建过程,无需配置环境变量.所有软件都是写该文章时最新版本 一 相关下载 (1) java JDK下载: 进入该网页: http://java.sun.com/java ...

  6. 【下班后学Android】Android开发环境搭建

    Android开发环境搭建方法: 方法一:百度搜索"Android开发环境搭建":http://jingyan.baidu.com/article/bea41d437a41b6b4 ...

  7. Android开发环境搭建与入门Hello World

    一直没机会接触手机开发,很想开发一款手机围棋软件,今天先学习一下环境搭建与Hello World吧. 环境配置对于没入门的很麻烦,谁如果有需要留下QQ邮箱,我发给你.不客气,呵呵. 推荐一本书: Go ...

  8. Android 应用开发(29)---android 开发环境搭建

    android 开发环境搭建 分类 Android 基础入门教程 现在主流的Android开发环境有: ①Eclipse + ADT + SDK ②Android Studio + SDK ③Inte ...

  9. Windows下Android开发环境搭建和配置

    关于Windows下Android开发环境搭建.配置方面文章,网上一搜一堆,为方便以后参考,权且做个记录,主要关注安装过程中的注意事项.对新手提醒的是,本文介绍SDK开发Android APK环境搭建 ...

  10. linux android开发环境搭建

    android开发环境搭建的一些有用链接: 1. sdk manager的国内服务器 http://www.cnblogs.com/huangjacky/p/4077982.html 2. 常见问题的 ...

最新文章

  1. Python编写自动化脚本(无验证码)
  2. 用js监控分辨率调整背景图片宽度_如何使用CSS Paint API动态创建与分辨率无关的可变背景
  3. C#反射——简单反射操作类的封装
  4. python3 最基本且简单的实现组合设计模式
  5. 三张表有重复字段_什么?搞不定Kafka重复消费?
  6. 9 WM层面 临时仓储类型的仓位 主数据不存在
  7. HttpHandler和HttpModule 心得介绍
  8. 提交表单到mysql_node提交表单到mysql
  9. c语言文件分类二进制,C语言实现文件版(二进制文件版)通讯录
  10. ai故障风字体_一分钟就能学会!用PPT做出抖音故障风的字体特效
  11. 极域电子教室破解控制---万能密码、查找密码
  12. 一个粗糙的js分页判断
  13. 第4章 手机平板要兼顾,探究碎片
  14. 《黑客与画家》读后感之一
  15. 怎么将计算机的触摸鼠标锁定,戴尔电脑怎么将触控板锁定?
  16. 多益网络2022届校招提前批全面启动【免筛推荐码QEAQU】
  17. 简介IntelliJ IDEAD
  18. audioread-支持多种解码 (GStreamer + Core Audio + MAD + FFmpeg) 的python音频解码库
  19. 【leetcode】二维子矩阵的和
  20. 从零开始学IntelliJ IDEA2018——常用快捷键

热门文章

  1. linux安装vim不成功,centos安装vim失败解决
  2. 哪里可以做TEM/HRTEM/EDS/线扫/Mapping测试、EBSD测试
  3. 电气领域相关数据集(目标检测,分类图像数据及负荷预测),输电线路图像数据
  4. 延边大学计算机考研压分吗,这6所大学被严重低估,2020届高三考生注意收藏!适合“捡漏”...
  5. iphone12是双卡双待吗
  6. 写给自己的总结(程序员励志)
  7. 使用okhttp下载文件 、传统方式下载文件,简介okhttp使用(Java)
  8. 特定数量的商品如何在高并发下进行库存锁定 ?
  9. UE4蓝图版简易背包系统
  10. 国内三大知名开源B2B2C多用户商城系统对比