Demo编译

Flutter推流SDK是基于Android/iOS推流SDK原生层开发的推流工具。本文为您介绍Flutter推流SDK Demo的编译方法。

Demo下载

最新版推流SDKDemo源码及Demo安装包下载请参见SDK下载

Demo编译

环境要求

类别

要求

Flutter版本

支持3.27.0及以下,2.8.0及以上版本。推荐使用2.8.0版本。

Dart版本

支持3.6.0及以下,2.15.0及以上版本。

系统版本

  • 支持Android 5.0及以上版本。

  • 支持iOS 10.0及以上版本。

CPU架构

armeabi-v7aarm64-v8a。

开发工具

推荐使用Android StudioVisual Studio Code

编译

IDE方式

Android studio

  1. 打开项目:

    打开Android Studio,单击Open,点击flutter_livepush_plugin项目,选择example目录打开。

  2. 安装依赖:

    在 Android Studio 中,点击 pubspec.yaml 文件,然后点击右上角的 Pub Get 按钮以安装依赖。

  3. 配置设备:

    确保已连接 Android 真机设备。

  4. 运行应用:

    点击工具栏中的绿色运行按钮(Run),选择目标设备后即可启动应用。

Visual Studio Code

  1. 打开项目:

    启动 Visual Studio Code。选择 File -> Open Folder,点击flutter_livepush_plugin项目,选择example目录打开。

  2. 安装依赖:

    在该目录下,打开命令行,运行以下命令以安装依赖。

    flutter pub get

  3. 配置设备:

    确保已连接 Android 或 iOS 真机设备。使用 VS Code 的设备选择器(左下角)选择目标设备。

  4. 运行应用:

    按下 F5 或点击左侧活动栏中的 Run and Debug 图标,选择 Flutter 配置并启动调试会话。

Xcode(iOS)

  1. 打开项目:

    点击flutter_livepush_plugin项目,选择example目录中的 ios 目录打开。

  2. 安装 CocoaPods 依赖:

    请在example目录中的ios目录下打开命令行,运行以下命令。

    pod install

  3. 配置签名:

    在 Xcode 中,选择 Runner 项目,进入 Signing & Capabilities 标签页,配置有效的开发者账号和签名证书。

  4. 运行应用:

    点击 Xcode 工具栏中的运行按钮(▶️),选择目标设备后即可启动应用。

命令行方式

进入example目录(flutter_livepush_plugin>example)打开命令行。

  1. 安装依赖。

    flutter pub get

  2. 编译工程。

    Android

    重要

    编译 Android 工程前,请确保已安装 Android SDK 和 Gradle。

    • 运行程序:

      执行以下命令可运行程序。

      # 运行 debug 版本
      flutter run --debug
      # 运行 release 版本
      flutter run --release

    • 打包APK文件:

      执行以下命令可打包APK文件。

      flutter build apk
      说明

      APK 文件位于build/app/outputs/flutter-apk/app-release.apk

    iOS

    重要

    编译 iOS 工程前,请确保已安装Xcode 和 CocoaPods。

    首先,初始化 CocoaPods 依赖:

    cd ios && pod install && cd ..
    • 运行程序:

      执行以下命令可运行程序。

      # 运行 debug 版本
      flutter run --debug
      # 运行 release 版本
      flutter run --release

    • 打包IPA文件:

      执行以下命令可打包IPA文件。

      flutter build ipa
      说明

      IPA 文件位于build/ios/ipa/Runner.ipa

常见问题

编译问题:iOS端运行pod install出错

Dart 3.0 以上版本,iOS端运行pod install 出现如下错误:

[!] CocoaPods could not find compatible versions for pod "Flutter":
In Podfile:
Flutter (from `Flutter`)
url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`) was resolved to 0.0.1, which depends on
Flutter
Specs satisfying the `Flutter (from `Flutter`), Flutter` dependency were found, but they required a higher minimum deployment target.

解决方法:修改example中的Podfile文件的 platform :ios, '',将版本修改为12.0。

编译问题:Cocoapodsprofile环境不一致

如果运行程序时,xcode无法运行,并且报错为Cocoapodsprofile环境不一致时(The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.)

执行以下步骤:

  1. 删除Pods文件夹

  2. 删除Podfile.lock

  3. 执行pod install--repo-update

  4. 退出Xcode后重新进入编译项目

编译问题:Launcher文件报错(Type 'UIApplication' does not conform to protocol 'Launcher')

如果编译时,遇到Launcher文件报错(Type 'UIApplication' does not conform to protocol 'Launcher')。

image.png

解决方法:按照如下代码进行修改

/// Launcher is intentionally a direct passthroguh to UIApplication.
extension UIApplication: Launcher {
    func open(_ url: URL, options: [OpenExternalURLOptionsKey : Any], completionHandler completion: ((Bool) -> Void)?) {
        self.open(url, options: options, completionHandler: completion)
        }
}

其他编译问题

请检查您的Flutter版本是否符合环境要求

如何获取推流地址

获取推流地址可参见生成推流地址和播放地址

使用Demo推流失败

您可以使用自助问题排查功能对推流地址进行检测,检测推流地址是否有效。

如何获取已推的音视频流信息

您可以进入流管理,在在线流中可查看并管理已推的音视频流。

如何进行播流

开始推流后,可用播放器(阿里云播放器、FFplay、VLC等)进行拉流测试,拉流地址获取请参见生成推流地址和播放地址