Template:RK3399-Android8/zh
Contents
1 Android8.1 系统的使用
我们为 {{{1}}} 提供了完善的Android8.1 BSP,代码使用 gitlab.com 平台管理,完全开源,支持GPU加速和VPU硬件加速。
1.1 使用MIPI摄像头进行拍照和录像
{{{1}}}在Android系统下,可以搭配 MIPI摄像头CAM1320 进行拍照和录像,操作比较简单,连接摄像头到{{{1}}}的MIPI接口,开机进入 Android 系统,用系统自带的 Camera 应用即可完成拍照和录像,操作跟 Android 手机是一样的。
1.2 使用双MIPI摄像头预览与录像
从github下载以下示例源代码,并用 Android studio 编译并运行:
git clone https://github.com/friendlyarm/Dual-Camera.git -b working-branch
应用安装后,需要设置Android权限才能让程序正常运行,方法是在开发板的Android系统里进入 Settings -> Apps & notifications -> Dual Camera -> Permissions 钩选以下权限:
Camera Microphone Storage
最终运行效果如下:
点击界面上的 "CAPTURE VIDEO" 按钮即可录制视频(同时录两个摄像头),录制的视频保存到以下位置:/storage/emulated/0/Download/dualcamera_h264.mp4,电脑上可以用以下adb命令下载到本地:
adb pull /storage/emulated/0/Download/dualcamera_h264.mp4
已知问题:
录制的视频文件,播放时会比正常的快,可能需要调整mediacodec的某些参数
1.3 使用HDMI IN进行预览、拍照和录像(仅限SOM-RK3399)
SOM-RK3399 Dev Kit集成了HDMI IN接口,最高支持1080P模式,可使用Android 8.1的Camera 应用来预览与录像。
要使用HDMI IN,请先将Dev Kit上的 U2跳线短接,勿连接摄像头到MIPI-CSI1,使用HDMI线连接您的HDMI输出设备与Dev Kit的HDMI INPUT接口,然后启动Camera 应用就可以预览、拍照和录像。
烧写Android 8.1后缺省情况下HDMI IN的音频为关闭状态,如果需要录制HDMI IN的音频,请先进入Settings --> Accessibility ,打开 HDMI IN。
已知问题及限制:
预览或录像时HDMI IN的音频只能通过耳机口输出,无法输出到HDMI OUTPUT。
设置Accessibility 中打开HDMI IN后,可能会遇到播放音频无声的情况,关闭此设置后重启系统可恢复正常。
1.4 切换系统语言
Android系统默认的系统语言是英文,比如我们要设置为中文,步骤如下:
1) 进入 Android 设置:Settings -> System -> Languages & Input -> Languages;
2)点击"Add a language", 在列表中选择 "简体中文",再选择 "中国";
3) 这时列表中会有中文和英文两种语言,拖动中文那一项到列表的最上面即可,注意,如果你使用的是鼠标,拖动的方法是:将鼠标指针放在列表项右边的图标上,然后按下鼠标中键来拖动;
1.5 Android8.1 硬件访问
开发者可以通过FriendlyThings SDK在Android App中访问和控制主板上的各种硬件资源,比如Uart, SPI, I2C, GPIO等接口,详情可参考以下两份文档:
1.6 Android神经网络 NN SDK示例
Android8.1 BSP中包含了支持GPU加速的Android NN SDK,为了方便测试,Android8固件中也预装了原厂提供的Android NN示例程序:TfLiteCameraDemo,这是一个使用Rockchip AndroidNN GPU加速的MobileNet分类器Demo,运行时需要连接摄像头模块,USB和CSI摄像头都是支持的,通过点击 “TfLiteCameraDemo”图标进入示例,其运行效果如下所示:
关于Android NN SDK的详细描述,可以参考原厂的这份文档:[RK3399_Android8.1_AndroidNN_SDK_V1.0_20180605发布说明.pdf]
TfLiteCameraDemo示例源代码下载地址:[TfLiteCameraDemo源代码]
1.7 Android8.1 下使用adb
1. 第一次启动系统,如果需要更改系统文件,需要关闭安全验证 (注:安装apk不需要关闭),关闭安全验证后需要重启
adb root adb disable-verity adb reboot
2. 重启后,获得root权限,并重新挂载 /system 开启写入权限
adb root adb remount
3. 上传文件
adb push example.txt /system/
1.8 HDMI分辨率、边界调节
如果连接了HDMI显示设备,可进入 Android 的 Settings -> Display -> Advanced -> HDMI & Rotation 进行设置。
HDMI Resolution 缺省为 Auto,可手动设置显示分辨率,最高可支持 4K 分辨率 Screen Zoom 用户可观察红色边框的显示,点击中间的4个箭头按钮来进行缩放调节 Display Rotation 可进行横竖屏切换
1.9 屏幕旋转
使用HDMI与LCD作为显示设备时,如果需要旋转屏幕,可进入 Android 的 Settings -> Display -> Advanced -> HDMI & Rotation -> Display Rotation 进行设置。
在 adb shell 用命令来测试屏幕旋转 (不会保存设置):
wm rotation 90
1.10 切换音频输出通道
可以配置音频输出到HDMI或者耳机接口,设置入口:Android 的 Settings -> Accessibility -> Force audio output。 如果 Force audio output菜单项是灰色的,即处于不可选择的状态,说明你所用的硬件会自动检测耳机插拨状态,并自动切换音频通道,无需设置。
1.11 调整录音的音量
1) 先通过串口或adb shell,以root用户权限使用amix 命令调节录音的音量,例如:
amix "IN2 Boost" amix "ADC Capture Volume"
以上命令用于查看当前的设置,然后便可根据支持的值来调节并测试。
2) 调试好后,修改 hardware/rockchip/audio/tinyalsa_hal/codec_config/rt5651_config.h 文件中 rt5651_main_mic_capture_controls 数组中对应配置项的值,编译Android源代码并测试。
1.12 定制开关机界面与动画
1.12.1 开启与关闭
将 device/rockchip/common/BoardConfig.mk 文件的
BOOT_SHUTDOWN_ANIMATION_RINGING := false
改为
BOOT_SHUTDOWN_ANIMATION_RINGING := true
来打开编译时将文件打包进固件的功能
1.12.2 开机动画
创建或替换Android源代码目录下的如下文件:
kernel/logo.bmp
kernel/logo_kernel.bmp
device/rockchip/common/bootshutdown/bootanimation.zip
1.12.3 关机动画
创建或替换Android源代码目录下的如下文件:
device/rockchip/common/bootshutdown/shutdownanimation.zip
1.12.4 动画制作方法
请参考:http://blog.sina.com.cn/s/blog_4960586c0100vu5v.html
1.13 移除Google框架
如果不需要使用google服务,可以删除Google框架以节约系统资源,方法是删除Android源代码中的以下目录,然后重新编译Android:
vendor/google