Is there a way to change between User and Eng mode on android devices? More specificity the Motorola Defy (2.2.2) and the Acer Iconia A500 (4.0.3) I need access to tools like dev tools. I dont mind if I have to root the DEFY.
-
What precise capabilities do you need?– Chris StrattonJul 1, 2012 at 4:04
-
Developers Tools etc– FabianCookJul 1, 2012 at 4:23
-
Network analysis as well– FabianCookJul 1, 2012 at 4:23
-
Android is designed so that development can be done on a secured device. Build an apk set to be debuggable and you can use run-as to get a shell running as the apk userid.– Chris StrattonJul 1, 2012 at 4:32
-
1there are several network analysis tools on the Play market, such as Shark (based on Wireshark on desktop), they do need root access.– Lie RyanJul 2, 2012 at 13:50
1 Answer
No you cannot, that is done at build/compile of the source of the said Android version whatever that may be.
When the source gets compiled via
. build/envsetup.sh
This is setting up the environment, and that reads in the potential devices via BoardConfig.mk within each device/product directory.
Its when lunch
gets executed, the menu shows like this
$ lunch
You're building on Linux
Lunch menu... pick a combo:
1. full-eng
2. full_x86-eng
3. simulator
4. zte_blade-eng
5. zte_blade-userdebug
Which would you like? [full-eng]
The above is the example of building the ROM for the Zte Blade, notice how userdebug and eng is prefixed!
-
While this is how it is set, it's not necessarily fully fixed to that setting. Changing some of the ro. system properties in the built image - or even setting ones that haven't been set yet on a running device - can substantially alter the behavior of the system. The results may not however be stable. Jul 1, 2012 at 4:04
-
-
Yes, if you can write to arbitrary flash partitions. But you don't necessarily need to change the "mode" of the system, it may be enough to alter the specific things keyed to that which you want, for example install some tool for obtaining a root shell. Jul 1, 2012 at 4:37