android factorytest mode

1,244 views
Skip to first unread message

Tiago Maluta

unread,
Feb 1, 2011, 2:10:44 PM2/1/11
to android-porting
I'm checking the possibilities to validate my board through some
tests. Looking at documentation I read about factorytest mode where I
can analyze - individually - different subsystems of android
framework. I did not find documentation a steps to enter in this mode.
My initial step was use ADB to "setprop ro.factorytest 1" but, as
expect, didn't work. My second idea was create an application to enter
on factory test (editing Manifest file) mode but again I'd probably
violate some security design... Looking at system/core/init/init.c I
noted that "ro.factorytest" could be set depending on kernel
parameters, so I tried "androidboot.mode=factory" without success.
What's the correct (or recommended) way to get device running in
manufacturer test mode?

--tm

Tiago Maluta

unread,
Feb 9, 2011, 2:18:34 PM2/9/11
to android-porting

I realized how to set "ro.factorytest" property by adding
androidboot.mode=factory to my kernel parameter. Besides the fact that
my board hangs on a loop, rebooting constantly... and the need to
discover why I'd like to get the practical idea behind factorytest. If
I enable it how I'll test on my hardware? There are some
pre-established codes to test android framework? (I found codes for
specifics devices but not an generic list) Or should I create an
application with my procedure (using something like [1]) .

[1] http://developer.android.com/reference/android/content/Intent.html#ACTION_FACTORY_TEST

--tm

Damian Hobson-Garcia

unread,
May 11, 2011, 7:04:55 AM5/11/11
to Tiago Maluta, android...@googlegroups.com
On Feb 10, 4:18 am, Tiago Maluta <tiago.mal...@gmail.com> wrote:
>
> I realized how to set "ro.factorytest" property by adding
> androidboot.mode=factory to my kernel parameter. Besides the fact that
> my board hangs on a loop, rebooting constantly... and the need to
> discover why I'd like to get the practical idea behindfactorytest. If

I noticed the same thing on my system when I tried to boot into the
FACTORY_TEST_LOW_LEVEL mode. It seems that without several of the
services (such as the AccessibiltyManagerService), no UI elements can
be displayed on the screen. I have a factory test application that
overrides the home application, but the keyguard locking screen still
tries to come up causing the SystemServer to die and restart
constantly.

I've had similar problems where the SystemServer tries to output logs
using the DropBoxManager.

Does anyone know whether the UI is supposed to work at
FACTORY_TEST_LOW_LEVEL? I'm wondering just how low level "low level"
is?

Damian

Damian Hobson-Garcia

unread,
May 11, 2011, 7:21:04 AM5/11/11
to android...@googlegroups.com
On Feb 10, 4:18 am, Tiago Maluta <tiago.mal...@gmail.com> wrote:
> I realized how to set "ro.factorytest" property by adding
> androidboot.mode=factory to my kernel parameter. Besides the fact that
> my board hangs on a loop, rebooting constantly... and the need to
> discover why I'd like to get the practical idea behindfactorytest. If
> I enable it how I'll test on my hardware? There are some
> pre-established codes to test android framework? (I found codes for
> specifics devices but not an generic list) Or should I create an
> application with my procedure (using something like [1]) .
>
> [1]http://developer.android.com/reference/android/content/Intent.html#AC...
>
> --tm

I noticed similar behaviour on my board as well.  It seems that without some of the services that are not started in FACTORY_TEST_LOW_LEVEL (eg. AcessibiltyManagerService) no application can output any UI to the screen.  In my case I have a factory test application (using the FACTORY_TEST intent filter), which replaces the home screen, but it seems like the keyguard screen lock tries to come up anyway.   This causes the SystemServer to die and be restarted constantly.

I've noticed similar problems when the SystemServer tries to do logging via the DropBoxManager. 

Does anyone know if UI elements are displayable in FACTORY_TEST_LOW_LEVEL?  I'm wondering how low level "LOW_LEVEL" really is?

Damian
Reply all
Reply to author
Forward
0 new messages