Linux Developer Tools for Android

Registered by Zach Pfeffer on 2011-10-10

In this session we will talk about adding standard Linux developer tools to Android.

Description
------------------
To improve the tools available for embedded developers that care about the core platform, kernel and user space code, the Linaro Android Platform team considers it important to provide tools commonly used by low level GNU/Linux developers. We continuously monitor and identify areas where porting and integrating those tools with Android will benefit the overall Android community.

Discussion and reviews lead us to believe that focusing on the binary debugging front would be the most useful next step. The first part of this effort will be a research project that reviews debugging tools commonly used by embedded Linux developers, checking for applicability of those use cases to Android. We will also identify equivalent tools or gaps in the offering of the stock AOSP NDK and SDK. Potential candidates taken from pre-discussion that this research project will pay special attention to are:

oprofile
perf
valgrind
powerdebug

Based on the findings from the effort above, a priority ordered list of tools will be defined and the engineering plan expanded accordingly.

Acceptance Criteria
-------------------------------
1. Results of the research project with a significant list of tools for porting are published
2. Debugging tools identified are integrated and available in Linaro Android Images or the NDK

See https://linaro.papyrs.com/page/4115/ANDROID2011-DEVTOOLS-1/# for the original description.

Agenda
------------
Give a quick overview of what is already there (and what theoretically should be there)
Discuss what other tools we need (and what tools are realistic to port)
Best way to get there [see rsalveti comment on the BP whiteboard]

Goal of this Session
-----------------------------
To identify the tools Android needs and brainstorm and generate concrete work items to integrate those tools into Linaro's LEBs.

Blueprint information

Status:
Complete
Approver:
Zach Pfeffer
Priority:
Undefined
Drafter:
Bernhard Rosenkraenzer
Direction:
Needs approval
Assignee:
Bernhard Rosenkraenzer
Definition:
New
Series goal:
None
Implementation:
Implemented
Milestone target:
None
Started by
Bernhard Rosenkraenzer on 2011-11-22
Completed by
Bernhard Rosenkraenzer on 2011-11-22

Related branches

Sprints

Whiteboard

[botao, 3rd November 2011]: About Valgrind, it's a awesome tool for memory check, but it requires a huge size of memory to do the work. I go through the Valgrind news and they currently don't have an official release for Android, but you can find more experimental stuff here:
http://blog.mozilla.com/jseward/2011/09/27/valgrind-on-android-current-status/
http://comments.gmane.org/gmane.comp.debugging.valgrind/11617

Notes from session:
-----------
1. SSH support in android?
[botao, 3rd November 2011]: Yes, the SSH demon can be run successfully on the Android, take a look at your Android phone and find an app named SSHDroid. I will do this in this or next release cycle.

2. Eclipse tools availability?

3. Bash availability
[botao, 3rd November 2011]: Busybox has been in the Android platform, and you can set it as the default environment through the system variable configuration. We won't set the busybox as the default because we want to provide a flexible environment to end users.

4. WIFI command line tools availability?
[botao, 3rd November 2011]: Basic WIFI command line tool has been integrated to the Linaro Android image for Samsung Origen board.

5. Framebuffer tools - eg fbset ?

6. Bootup profiling tools , to check startup optimization?

7. Check available java profiling tools which can be integrated.

Q: how do u cross compile the existing tools now?
[bero, 3rd November 2011]: Using Android.mk file
[botao, 3rd November 2011]: Refer to busybox case, Android.mk file is the major solution for that, however, you may also need to modify something else in the other source code files. This will be a case by case situation. Fortunately, more and more open source project already had, or will have an Android version.

---------------
[rsalveti, Nov 2, 2011] I wonder if it'd be more useful to just have the Ubuntu developer image extracted as a chroot at the android environment. Seems that we'll be doing a lot of duplication work here (package maintenance, update, upgrade, fixes, etc).

(?)

Work Items