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

相关文章

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、核心特性

Android 实现一个隐私弹窗功能

《Android实现一个隐私弹窗功能》:本文主要介绍Android实现一个隐私弹窗功能,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 效果图如下:1. 设置同意、退出、点击用户协议、点击隐私协议的函数参数2. 《用户协议》、《隐私政策》设置成可点击的,且颜色要区分出来res/l

Android实现一键录屏功能(附源码)

《Android实现一键录屏功能(附源码)》在Android5.0及以上版本,系统提供了MediaProjectionAPI,允许应用在用户授权下录制屏幕内容并输出到视频文件,所以本文将基于此实现一个... 目录一、项目介绍二、相关技术与原理三、系统权限与用户授权四、项目架构与流程五、环境配置与依赖六、完整

Android 12解决push framework.jar无法开机的方法小结

《Android12解决pushframework.jar无法开机的方法小结》:本文主要介绍在Android12中解决pushframework.jar无法开机的方法,包括编译指令、框架层和s... 目录1. android 编译指令1.1 framework层的编译指令1.2 替换framework.ja

Android开发环境配置避坑指南

《Android开发环境配置避坑指南》本文主要介绍了Android开发环境配置过程中遇到的问题及解决方案,包括VPN注意事项、工具版本统一、Gerrit邮箱配置、Git拉取和提交代码、MergevsR... 目录网络环境:VPN 注意事项工具版本统一:android Studio & JDKGerrit的邮