WebRTC导入Android Studio

2024-08-22 15:32
文章标签 android studio 导入 webrtc

本文主要是介绍WebRTC导入Android Studio,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在《WebRTC之Android编译》
一文中我们已经成功编译了Android版WebRTC,并且通过分析对比拿到了对应的jar包和so库。

在WebRTC的src/example目录下有很多的关于WebRTC的demo,那么如何将这些demo导入到Android Studio中进行分析呢?本文来为你揭晓…

同样我们参照官方的教程试下:https://webrtc.github.io/webrtc-org/native-code/android/

注意,以下命令都是在WebRTC源码目录的src目录下执行

编译AppRTCMobile

1、编译

# 配置输出目录和cpu架构 将产物输出到out/StudioDebug目录
gn gen out/StudioDebug --args='target_os="android" target_cpu="arm"'# 编译
ninja -C out/StudioDebug AppRTCMobile

2、生成Android Studio工程所需的gradle文件

# 注意这是一条命令,不是三条
build/android/gradle/generate_gradle.py --output-directory $PWD/out/StudioDebug \
--target "//examples:AppRTCMobile" --use-gradle-process-resources \
--split-projects --canary

导入Android Studio

编译完成后我们需要导入的项目目录在/out/StudioDebug/gradle

导入之后发现报错:

Execution failed for task ':examples.AppRTCMobile:mergeDebugResources'.
> Could not resolve all files for configuration ':examples.AppRTCMobile:_internal_aapt2_binary'.> Cannot resolve external dependency com.android.tools.build:aapt2:4.1.3-6503028 because no repositories are defined.Required by:project :examples.AppRTCMobilePossible solution:- Declare repository providing the artifact, see the documentation at https://docs.gradle.org/current/userguide/declaring_repositories.html

从报错信息中我们看到应该是依赖仓库没配置好,我们修改下build.gradle文件,
在项目的根目录的后增加如下配置:

allprojects {repositories {google()jcenter()}
}

完整的build.gradle文件如下:

// Generated by //build/android/generate_gradle.pybuildscript {repositories {google()jcenter()
//         Workaround for http://b/144885480.maven() {url "http://dl.bintray.com/kotlin/kotlin-eap"}}dependencies {classpath 'com.android.tools.build:gradle:3.5.1'}
}allprojects {repositories {google()jcenter()}
}

然后就可以运行了,可以舒适地用Android Studio调试example代码了。。。

运行截图:

关注我,一起进步,人生不止coding!!!

微信扫码关注

这篇关于WebRTC导入Android Studio的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1096668

相关文章

Java easyExcel实现导入多sheet的Excel

《JavaeasyExcel实现导入多sheet的Excel》这篇文章主要为大家详细介绍了如何使用JavaeasyExcel实现导入多sheet的Excel,文中的示例代码讲解详细,感兴趣的小伙伴可... 目录1.官网2.Excel样式3.代码1.官网easyExcel官网2.Excel样式3.代码

Visual Studio 2022 编译C++20代码的图文步骤

《VisualStudio2022编译C++20代码的图文步骤》在VisualStudio中启用C++20import功能,需设置语言标准为ISOC++20,开启扫描源查找模块依赖及实验性标... 默认创建Visual Studio桌面控制台项目代码包含C++20的import方法。右键项目的属性:

Android DataBinding 与 MVVM使用详解

《AndroidDataBinding与MVVM使用详解》本文介绍AndroidDataBinding库,其通过绑定UI组件与数据源实现自动更新,支持双向绑定和逻辑运算,减少模板代码,结合MV... 目录一、DataBinding 核心概念二、配置与基础使用1. 启用 DataBinding 2. 基础布局

Android ViewBinding使用流程

《AndroidViewBinding使用流程》AndroidViewBinding是Jetpack组件,替代findViewById,提供类型安全、空安全和编译时检查,代码简洁且性能优化,相比Da... 目录一、核心概念二、ViewBinding优点三、使用流程1. 启用 ViewBinding (模块级

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

MySQL Workbench工具导出导入数据库方式

《MySQLWorkbench工具导出导入数据库方式》:本文主要介绍MySQLWorkbench工具导出导入数据库方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录mysql Workbench工具导出导入数据库第一步 www.chinasem.cn数据库导出第二步

将图片导入Python的turtle库的详细过程

《将图片导入Python的turtle库的详细过程》在Python编程的世界里,turtle库以其简单易用、图形化交互的特点,深受初学者喜爱,随着项目的复杂度增加,仅仅依靠线条和颜色来绘制图形可能已经... 目录开篇引言正文剖析1. 理解基础:Turtle库的工作原理2. 图片格式与支持3. 实现步骤详解第

Android NDK版本迭代与FFmpeg交叉编译完全指南

《AndroidNDK版本迭代与FFmpeg交叉编译完全指南》在Android开发中,使用NDK进行原生代码开发是一项常见需求,特别是当我们需要集成FFmpeg这样的多媒体处理库时,本文将深入分析A... 目录一、android NDK版本迭代分界线二、FFmpeg交叉编译关键注意事项三、完整编译脚本示例四

Android与iOS设备MAC地址生成原理及Java实现详解

《Android与iOS设备MAC地址生成原理及Java实现详解》在无线网络通信中,MAC(MediaAccessControl)地址是设备的唯一网络标识符,本文主要介绍了Android与iOS设备M... 目录引言1. MAC地址基础1.1 MAC地址的组成1.2 MAC地址的分类2. android与I

POI从入门到实战轻松完成EasyExcel使用及Excel导入导出功能

《POI从入门到实战轻松完成EasyExcel使用及Excel导入导出功能》ApachePOI是一个流行的Java库,用于处理MicrosoftOffice格式文件,提供丰富API来创建、读取和修改O... 目录前言:Apache POIEasyPoiEasyExcel一、EasyExcel1.1、核心特性