1 背景
我们的一个项目需要在小米电视上打开我们的大屏监控的页面,这里需要用到电视版本的浏览器。当前电视版本的浏览器源码为 firefox-tv 。这个项目已不再更新,但仍可以支持源码编译。
2 源码编译过程
注意:我自己是 mac电脑 (arm 芯片)
下载源码,将源码下载到本地
git clone git@github.com:mozilla-mobile/firefox-tv.git
2.1 前提条件
需要保证你本地的基本条件
- Java 版本需要为 1.8,需要设置
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_351.jdk/Contents/Home
-
Python 3.7,否则会报错
image.png
2.2 构建过程
采用以下命令进行构建 (查看官方的 Readme)
./gradlew clean app:assembleSystemDebug
构建成功后,显示以下界面:
image.png
2.3 构建APK包
构建 APK包,采用以下命令:
./gradlew assembleSystemRelease
构建 APK的时候会报如下错误:
image.png
> Task :app:lintVitalSystemRelease FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:lintVitalSystemRelease'.
> Could not resolve all artifacts for configuration ':app:systemDebugAndroidTestRuntimeClasspath'.
> Could not find tools.fastlane:screengrab:1.2.0.
Searched in the following locations:
- https://jcenter.bintray.com/tools/fastlane/screengrab/1.2.0/screengrab-1.2.0.pom
- https://jcenter.bintray.com/tools/fastlane/screengrab/1.2.0/screengrab-1.2.0.jar
- https://repo.maven.apache.org/maven2/tools/fastlane/screengrab/1.2.0/screengrab-1.2.0.pom
- https://repo.maven.apache.org/maven2/tools/fastlane/screengrab/1.2.0/screengrab-1.2.0.jar
Required by:
project :app
看提示信息是打不到 tools.fastlane:screengrab:1.2.0. 这个包。
https://mvnrepository.com/artifact/tools.fastlane/screengrab
看 maven 仓库,确实 1.2.0 版本已经被删除,只剩下 2.x.x 版本。
这下麻烦了,找了半圈,终于找到一个可用的源:
http://maven.wafour.com:8081/artifactory/libs-release/tools/fastlane/screengrab/1.2.0/
可以把screengrab-1.2.0.aar文件下载到本地,放在项目的 app/libs/ 这个目录下:
image.png
修改 app/build.gradle ,如下:参考
https://github.com/aborn/firefox-tv/commit/d0195f54f6756c975f959371012ec7d95822af8f
image.png
3 构建完成
构建成功后的apk 在项目的这个目录下
app/build/outputs/apk/gecko/debug/app-gecko-debug.apk
将这个 apk 复制到 U 盘里,将 U盘插入到电视里,安装下
安装成功:
image.png
打开应用:
image.png
打开后的界面:
image.png
4 最后说明
我家的电视机为 Android 5.0 版本,只要高于 Android 5.0,如果需要在 Android 5.0下安装此 apk,需要修改下源码:
image.png
修改后完整源码如下:
https://github.com/aborn/firefox-tv
image.png










网友评论