iMX6 Android系统下常见问题解决思路

原创 2020-12-31 10:39:00 imx6

本文以飞凌嵌入式OKMX6Q/DL平台为基础讲解,其它iMX6 平台可参考使用,通过本文您可以了解iMX6 Android系统下一些问题的处理思路,希望可以协助客户加速产品的研发速度。

第一章 Android4.4屏幕竖屏

修改Android源码(Android源码需要整体编译一遍以后才可以)

vim  out/target/product/okmx6qd_c/root/init.rc

添加红框部分,重新编译烧写即可

 


注:1.编译的时候不要make clean;

2.若没有这个路径需要先编译再修改然后再增量编译。


第二章 开机屏幕不锁定

有部分客户想要系统启动后屏幕默认不锁定,可以参考以下方法修改后重新编译镜像后,将新编译的镜像烧写到imx6开发板上:

修改/frameworks/base/packages/SettingsProvider/res/values/defaults.xml文件

注:红色字体为改动部分

<string name="def_unlock_sound" translatable="false">/system/media/audio/ui/Unlock.ogg</string>

<string name="def_wireless_charging_started_sound" translatable="false">/system/media/audio/ui/WirelessChargingStarted.ogg</string>

去掉<bool name="def_lockscreen_disabled">false</bool>

添加<bool name="def_lockscreen_disabled">true</bool>

     <bool name="def_device_provisioned">false</bool>

     <integer name="def_dock_audio_media_enabled">1</integer>


第三章 获得root权限

如果想要在android下获取root权限,可以参考以下方法:

1.用附件su文件替换out/target/product/okmx6qd_c/system/xbin/下的su文件,再将system/extras/su/Android.mk文件改为system/extras/su/Android.txt

2.在init.rc增加root守护进程,该路径为device/fsl/okmx6qd_c/init.rc,增加如下内容:

#add for root

on property:sys.boot_completed=1

su --daemon

#end

 

注意:

1、root权限是对所有apk都开放没有限制的

2、编译前不要make clean, su 文件在文件夹中


第四章 Andriod App获得签名

如果客户自己在做好Android应用后,安装不到iMX6开发板上,可以通过以下设置system权限的方法试一试。

可以看一下eclipse中调试信息如下:

Installation error: INSTALL_FAILED_SHARED_USER_INCOMPATIBLE

这是因为APP的源码中的AndroidManifest.xml文件中设置了system权限,如下:

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

package="forlinx.example.app"

android:versionName="1.0"

android:versionCode="1"

android:sharedUserId="android.uid.system" /*设置了system权限*/

(自己开发的APP也可以依此手法设置system权限)

设置了system权限后编译出的APP需要进行系统的签名才能正常的安装运行。


方法一:

1、修改Android.mk文件,加入LOCAL_CERTIFICATE := platform这一行 

2、使用make命令来编译,生成的apk就可以在iMX6开发板中运行了

这种也是我们源码中的APP采用的方法。


方法二:

这一种也完成了测试,测试使用的是CanTest的源码。

1、使用eclipse编译出对应apk文件ForlinxActivity.apk,但是这个apk文件是不能用的。

2、使用SignApk.jar签名工具对该apk进行签名

首先在Android源码中拷贝出platform.pk8、platform.x509.pem 和Signapk三个文件,然后再把编译出的apk文件拷贝到同一级目录下。

打开Windows的cmd.exe,然后切换到apk所在的目录,输入以下命令:

signapk.jar  platform.x509.pem platform.pk8 ForlinxActivity.apk new.apk

执行后new.apk即为签名后的文件,这个new.apk就可以安装到开发板上了。


适用范围

本文主要适用于飞凌OKMX6DL/Q平台Android4.4操作系统,其他平台也可以参考,但是不同平台之间会存在差异,需客户自行修改以适应自己的使用,由于水平有限仅供参考使用

相关产品 >

  • FETMX6Q-C核心板

    i.MX6Q核心板板层出不穷,要如何选择?飞凌解读i.mx6Q芯片强性能为您推荐四核A9架构的i.MX6Q产品精选,包含iMX6Q 核心板、i.MX6Q 核心板、iMX6Q工业级核心板,欢迎采购。  i.MX6Q核心板基于NXP(原Freescale)Cortex-A9架构的i.MX6Q四核处理器设计,核心板小尺寸核心板搭配独特的薄款连接器,让设计随心所欲!

    了解详情
    FETMX6Q-C核心板
  • OKMX6Q-C开发板

    双千兆飞凌嵌入式iMX6Q开发板,板对板连接器,纤薄之际,次底板支持iMX6Q和iMX6DL核心板。i.MX6Q开发板与i.MX6DL开发板资源丰富,原理图、PCB、软件资源、硬件资源下载,技术支持等。欢迎选购

    了解详情
    OKMX6Q-C开发板
  • FETMX6Q-S核心板

    NXP iMX6Quad系列具有四个内核,运行频率达1.2 GHz,带有1 MB L2缓存和64位DDR3或2通道、32位LPDDR2支持。飞凌提供商业级iMX6Q核心板,工业级iMX6Q核心板,兼容一同底板。具有抗震,抗氧化,抗干扰,更快速升级产品等优势。保定飞凌嵌入式专注imx6,imx6开发板,飞思卡尔imx6等ARM嵌入式核心控制系统研发、设计和生产,是imx6,imx6开发板,飞思卡尔imx6提供者,imx6系列产品现已畅销全国,欢迎咨询!
    了解详情
    FETMX6Q-S核心板
  • OKMX6Q-S3开发板

    飞凌嵌入式提供iMX6Q开发板,iMX6解决方案,iMX6Q核心板,i.MX6Q开发板解决方案。iMX6Q稳定、快速、性价比高,欢迎选购 NXP iMX6系列芯片全支持,升级简配无忧替换。 了解详情
    OKMX6Q-S3开发板

推荐阅读 换一批 换一批