IDEA编译安卓源码TVBox

因为电视x受限,无法观看电视直播,为了春晚不受影响,于是网络一顿搜索,试过多个APP,偶尔找到这款开源的TVBox,寒假在家,随便拿来练练手,学习安卓APP的编写,此文做以记录,仅限播放APP技术学习,与直播源无关。

I、下载TVBox项目并修改

II、安装IDEA 2022.3.1;内置JDK17、Gradle7.5.1,

      使用IDEA下载并设置Android SDK

       设置Window系统环境变量:

        ANDROID_SDK_ROOT=C:\Users\Administrator\AppData\Local\Android\Sdk

III、导入并编译TVBox项目

IV、其他

一、TVBox项目
1、简介

Github社区开源项目,Android视频播放软件

下载地址:https://github.com/CatVodTVOfficial/TVBoxOSC

https://codeload.github.com/CatVodTVOfficial/TVBoxOSC/zip/refs/heads/main

项目文件\app\build.gradle,声明编译和目标SDK版本为30,JDK版本为8

2、项目修改,共2处

(1)、文件\gradle\wrapper\gradle-wrapper.properties,指定Gradle版本6.7.1

因为services.gradle.org网站下载缓慢,需要将的distributionUrl值改为腾讯云地址

https://mirrors.cloud.tencent.com/gradle/gradle-6.7.1-bin.zip

(2)、根目录build.gradle文件

为提高下载仓库速度,需要在项目根目录build.gradle文件,buildscript的repositories中增加阿里云镜像

        maven { url 'https://maven.aliyun.com/repository/public/' }maven { url 'https://maven.aliyun.com/repository/google/' }maven { url 'https://maven.aliyun.com/repository/jcenter/' }maven { url 'https://maven.aliyun.com/repository/central/' }
二、安装设置IDEA

版本:推荐Ultimate 2022.3.1(最新版本没有Android SDK),默认内置JDK17、Gradle7.5.1

安装目录(可以自定),本文使用:D:\JetBrains\IntelliJ IDEA 2022.3.1\

1、打开TVBox项目,略
2、下载Android SDK

File --> Settings -->Appearance & Behavior --> System Settings -->Android SDK

等待下载完成,复制Android SDK Location路径,

3、设置Windows系统变量

ANDROID_SDK_ROOT= C:\Users\Administrator\AppData\Local\Android\Sdk

三、编译TVBox
1、Build Project项目

提示xwalk_shared_library-23.53.589.4.aar无法下载,可能因为xwalk.org站点不稳定,

可以再次尝试Build,或者下载笔者提供的org.xwalk.rar,解压到C:\Users\Administrator\.gradle\caches\modules-2\files-2.1

 2、Build APK编译为apk

虽然提示出错,但是编译成功,忽略。

编译后的APK应用

三、其他

1、如果提示JDK无效,则手动下载JDK11

2、设置Terminal

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/735219.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

栈与队列的故事

​​​​​​​ 目录 ​编辑​​​​​​​ 一、栈 1.1栈的概念及结构 1.2栈的实现 1、实现支持动态增长的栈 2、初始化栈 3、入栈 4、出栈 5、获取栈顶元素 6、检测栈是否为空 7、获取栈中有效元素个数 8、销毁栈 9、测试 1.3源码 二、队列 2.1队列的概念及结构…

[C++] Windows中字符串函数的种类

文章目录 C标准库函数VC CRT函数Win32 APILinux C标准库函数 #include || #include <string.h> || #include 都可以使用以下函数&#xff1a; char *strcpy(char *dest, const char *src) //将Src字符串拷贝到Dst字符串地址。没有目标内存大小检查&#xff0c;可能会导致…

Python 强大邮件处理库 Imbox

目录 IMAP Mailbox Imbox 安装 特性 提取邮件内容 处理附件 安全性 示例 1&#xff1a;读取收件箱中的邮件 2&#xff1a;搜索并下载附件 3&#xff1a;连接到IMAP服务器获取所有邮件 结论 IMAP Mailbox IMAP&#xff08;Internet Message Access Protocol&#x…

解放生产力,AI加持你也能做这些事!

去年网上流行一个说法叫一人企业或超级IP。一个人就是一家公司&#xff0c;可以更加专注于自身核心技能。既能对工作拥有更大的自主性和控制力&#xff0c;又能舍弃了传统公司管理等繁琐的事务工作&#xff0c;可以全面释放自己的兴趣和潜力。 这个概念给笔者留下了比较深的印…

使用Julia语言和R语言实现K-均值

K-均值算法基础 K-均值聚类算法属于一种无监督学习的方法&#xff0c;通过迭代的方式将数据划分为K个不重叠的子集&#xff08;簇&#xff09;&#xff0c;每个子集由其内部数据点的平均值来表示。计算方法大体如下&#xff1a; 1.初始化簇中心 选择K个数据点作为初始的簇中心…

2024.3.9每日一题

LeetCode 找出数组的第 K 大和 题目链接&#xff1a;2386. 找出数组的第 K 大和 - 力扣&#xff08;LeetCode&#xff09; 题目描述 给你一个整数数组 nums 和一个 正 整数 k 。你可以选择数组的任一 子序列 并且对其全部元素求和。 数组的 第 k 大和 定义为&#xff1a;可…

实用软件分享之自动清理过期备份文件清理文件夹

实用软件分享之自动清理过期备份文件清理文件夹&#xff0c;单文件程序&#xff0c;把程序放在要清理的文件夹内&#xff0c;运行后&#xff0c;可以设置清理指定文件后缀&#xff0c;支持设置保留个数&#xff0c;按文件的修改时候&#xff0c;清理掉最早的文件 初步讲解&am…

【算法面试题】-04

执行时长 def min_execution_time(n, size, tasks):a 0ans sizei 0while i < size:tmp tasks[i]a tmpif a < n:a 0else:a - ni 1ans a // nif a % n ! 0:ans 1return ans# 读取输入 n int(input()) size int(input()) tasks list(map(int, input().split()))…

ElasticSearch之排序,fielddata和docvalue

写在前面 es搜索返回结果的排序默认是按照得分的高低来排的&#xff0c;本文来看下如何按照字段来排序&#xff0c;实现类似于MySQL的order by xxx的效果。 1&#xff1a;什么是fileddata和doc_value 参考ElasticSearch之零碎知识点 和一文带你彻底弄懂ES中的doc_values和fi…

[QT]自定义的QtabWidget

需求 最近有一个需求就是一个QTabWidget要求有四个tab页在左侧用于显示主页面&#xff0c;在右侧有一个关于按钮&#xff0c;点击后用于弹出窗口显示一些程序相关信息。主要是怎么实现右侧按钮 相关代码 #ifndef MYTABWIDGET_H #define MYTABWIDGET_H#include <QWidget&g…

[ROS 系列学习教程] rosbag C++ API

ROS 系列学习教程(总目录) 本文目录 一、rosbag::Bag1.1 常用接口1.2 其他接口 二、rosbag::View2.1 常用接口2.1.1 代码示例 rosbag 的 C API 主要有两个类&#xff0c;用于写bag文件的Bag类&#xff0c;和用于读bag文件的View类。 一、rosbag::Bag 用于写bag文件。 头文件…

Spring文件上传下载代码

Spring文件上传下载代码 文件上传 MultipartFile是SpringMVC提供简化上传操作的工具类。 /*** 文件上传接口** param file* return*/PostMapping("/fileUpload")public String fileUpload(RequestParam("file") MultipartFile file) {// 用户鉴权&#x…

集合和数组的相关操作

目录 1.数组转集合(引用类型数组) 2.数组转集合(基础类型数组) 3.集合转数组 4.集合之间是否相交 5.获取两个集合的交集 6.集合转为字符串 1.数组转集合(引用类型数组) (1)Arrays.asList 示例&#xff1a; String[] colArr new String[6];colArr[0] "1";co…

代码随想录刷题笔记 DAY 42 | 最后一块石头的重量 II No.1049 | 目标和 No.494 | 一和零 No.474

文章目录 Day 4301. 最后一块石头的重量 II&#xff08;No. 1049&#xff09;<1> 题目<2> 笔记<3> 代码 02. 目标和&#xff08;No. 494&#xff09;<1> 题目<2> 笔记<3> 代码 03. 一和零&#xff08;No. 474&#xff09;<1> 题目&l…

[C/C++]string类常用接口介绍及模拟实现string类

一&#xff1a;Cstring类的由来 在C语言中&#xff0c;字符串是以\0结尾的一些字符的集合&#xff0c;为了操作方便&#xff0c;C标准库中提供了一些str系列的库函数&#xff0c;但是这些库函数与字符串是分离开的&#xff0c;不太符合OOP的思想&#xff0c;而且底层空间需要用…

字节跳动的 SDXL-LIGHTNING : 体验飞一般的文生图

TikTok 的母公司字节跳动推出了最新的文本到图像生成人工智能模型&#xff0c;名为SDXL-Lightning。顾名思义&#xff0c;这个新模型只需很轻量的推理步骤&#xff08;1&#xff0c;4 或 8 步&#xff09;即可实现极其快速且高质量的文本到图像生成功能。与原始 SDXL 模型相比&…

uniapp开发小程序实现-获取手机号码(二)

一共3篇文章,共同描述,看序号进行寻找。 真机效果图 1.前提 获取手机号码,一定要企业账号,不是企业账号会出现下面提示 所以没有企业账号的,就可以不用看了,申请企业账号去官网申请就行了,申请成功了后,我们接着看。 2.代码 代码参考文章 获取手机号 | 微信开放文…

CodecConfigurationException: Can‘t find a codec for class java.lang.Class.

前言 在使用spring data mongodb的mongoTemplate 更新数据时遇到如下错误 org.bson.codecs.configuration.CodecConfigurationException: Can’t find a codec for class java.lang.Class. 详细的错误信息 org.bson.codecs.configuration.CodecConfigurationException: Cant…

AI PC:重塑未来办公与生活方式的革命性工具

随着科技的飞速发展&#xff0c;人工智能&#xff08;AI&#xff09;已经渗透到我们生活的方方面面。而在PC领域&#xff0c;一场由AI引领的变革也正在悄然发生。从硬件到软件&#xff0c;从云端到终端&#xff0c;AI正在重塑我们的办公和生活方式。 AI工具网 | 人工智能工具推…

【蓝桥杯-单片机】基础模块:矩阵按键

文章目录 【蓝桥杯-单片机】基础模块&#xff1a;矩阵按键 【蓝桥杯-单片机】基础模块&#xff1a;矩阵按键 /** * 函数名 矩阵键盘扫描函数 * 函数功能 返回按下的按键键码值 * 入口参数 无 * 返回值 按键键码值 */ unsigned char Key_Read_Pro() {unsigned char temp 0;P3…