Device Requirements

Aug 23, 2009 at 6:16 PM

Hi,

I would like to understand what is needed in the deivce for this application to work correctly. My HTC Hero connects ok but only half the functionality works (Screenshot, CPU info, console and other SDK functions) - I am root, have busybox installed - it can be access via console.

What precisely does DE need to communicate with my device?

Great work so far - Thanks

Coordinator
Aug 25, 2009 at 11:01 AM

It uses the ADB and other tools that are located in the Android SDK. It also uses commands that are part of busybox, like ls. The reason busybox is needed, is because the standard ls in android does not support the same switches that are used for ls and other commands may not be available.

I would say to try to open a shell window and type ls --help. does it say something like:

BusyBox v1.14.2 (2009-07-01 18:27:27 EDT) multi-call binary

Usage: ls [-1AacCdeFilnpLRrSsTtuvwxXhk] [filenames...]

If it says something else, then please post it here.

Aug 25, 2009 at 12:03 PM

Seem to be running the same version of busybox...

busybox ls --help
BusyBox v1.14.2 (2009-07-01 18:27:27 EDT) multi-call binary

Usage: ls [-1AacCdeFilnpLRrSsTtuvwxXhk] [filenames...]

List directory contents

Options:
        -1      List in a single column
        -A      Don't list . and ..
        -a      Don't hide entries starting with .
        -C      List by columns
        -c      With -l: sort by ctime
        --color[={always,never,auto}]   Control coloring
        -d      List directory entries instead of contents
        -e      List full date and time
        -F      Append indicator (one of */=@|) to entries
        -i      List inode numbers
        -l      Long listing format
        -n      List numeric UIDs and GIDs instead of names
        -p      Append indicator (one of /=@|) to entries
        -L      List entries pointed to by symlinks
        -R      List subdirectories recursively
        -r      Sort in reverse order
        -S      Sort by file size
        -s      List the size of each file, in blocks
        -T NUM  Assume tabstop every NUM columns
        -t      With -l: sort by modification time
        -u      With -l: sort by access time
        -v      Sort by version
        -w NUM  Assume the terminal is NUM columns wide
        -x      List by lines
        -X      Sort by extension
        -h      List sizes in human readable format (1K 243M 2G)

#

 

I am using the Motodev IDE - this automaticly installs the SDK and tools... I linked (as a global variable) to the tool dir which it downloaded. All ADB functions work within DE - Just not the file manager?

Any pointers?

Coordinator
Aug 25, 2009 at 6:06 PM
Edited Aug 25, 2009 at 6:08 PM

are you using the DE binary or building DE from the source?

I am going to be checking in some code this evening that calls the busybox ls directly instead of depending on the busybox ls being linked to ls. also, could you open the debug window after connected, then unplug phone from usb, wait for DE to show "UNKNOWN" in window title, then reconnect the phone and put what the debug window shows, if anything.

Aug 25, 2009 at 8:16 PM

Taking the latest source (41315) and running from VS2008 (same experiance when launching from complied binary)...

Following instructions above...

Droid Explorer Debug Console

[CommandRunner] adb.exe -s HT959Lxxxxxx shell ls -lF /

[CommandRunner] drwxrwxrwt root root 2009-08-25 20:55 sqlite_stmt_journals

drwxrwx--- system cache 2009-07-22 10:44 cache

drwxrwxrwx system system 1970-01-01 01:00 sdcard

lrwxrwxrwx root root 2009-08-25 07:40 etc -> /system/etc

drwxr-xr-x root root 2009-06-27 11:25 system

drwxr-xr-x root root 1970-01-01 01:00 sys

drwxr-x--- root root 1970-01-01 01:00 sbin

dr-xr-xr-x root root 1970-01-01 01:00 proc

-rw-r--r-- root root 11336 1970-01-01 01:00 logo.rle

-rwxr-x--- root root 10277 1970-01-01 01:00 init.rc

-rwxr-x--- root root 2781 1970-01-01 01:00 init.hero.rc

-rwxr-x--- root root 1677 1970-01-01 01:00 init.goldfish.rc

-rwxr-x--- root root 106764 1970-01-01 01:00 init

-rw-r--r-- root root 118 1970-01-01 01:00 default.prop

drwxrwx--x system system 2009-07-22 10:44 data

drwx------ root root 1970-01-01 01:00 root

drwxr-xr-x root root 2009-08-25 07:40 dev

[CommandRunner] adb.exe -s HT959Lxxxxxx shell ls -lF /

[CommandRunner] drwxrwxrwt root root 2009-08-25 20:55 sqlite_stmt_journals

drwxrwx--- system cache 2009-07-22 10:44 cache

drwxrwxrwx system system 1970-01-01 01:00 sdcard

lrwxrwxrwx root root 2009-08-25 07:40 etc -> /system/etc

drwxr-xr-x root root 2009-06-27 11:25 system

drwxr-xr-x root root 1970-01-01 01:00 sys

drwxr-x--- root root 1970-01-01 01:00 sbin

dr-xr-xr-x root root 1970-01-01 01:00 proc

-rw-r--r-- root root 11336 1970-01-01 01:00 logo.rle

-rwxr-x--- root root 10277 1970-01-01 01:00 init.rc

-rwxr-x--- root root 2781 1970-01-01 01:00 init.hero.rc

-rwxr-x--- root root 1677 1970-01-01 01:00 init.goldfish.rc

-rwxr-x--- root root 106764 1970-01-01 01:00 init

-rw-r--r-- root root 118 1970-01-01 01:00 default.prop

drwxrwx--x system system 2009-07-22 10:44 data

drwx------ root root 1970-01-01 01:00 root

drwxr-xr-x root root 2009-08-25 07:40 dev

[CommandRunner] adb.exe -s HT959Lxxxxxx get-serialno

Busybox was taken from Paul @ modaco's update.zip here: http://android.modaco.com/content/htc-hero-hero-modaco-com/291397/12-08-1-4-modaco-hero-patch-a2sd-root-busybox-much-more/

Coordinator
Aug 25, 2009 at 8:41 PM

this is interesting...

here is what mine shows

Droid Explorer Debug Console
[CommandRunner] adb.exe -s HT845GZ51275 shell ls -lF /
[CommandRunner] drwxrwx---    1 1000     2001         2048 Jun 26 11:49 cache/
drwxrwx--x    1 1000     1000         2048 Jun 26 11:50 data/
-rw-r--r--    1 0        0             118 Aug 18 00:04 default.prop
drwxr-xr-x   12 0        0            2480 Aug 23 20:22 dev/
lrwxrwxrwx    1 0        0              11 Aug 23 20:22 etc -> /system/etc/
-rwxr-x---    1 0        0          102692 Aug 18 00:04 init*
-rwxr-x---    1 0        0            1677 Aug 18 00:04 init.goldfish.rc*
-rwxr-x---    1 0        0           11727 Aug 22 23:28 init.rc*
-rwxr-x---    1 0        0            1764 Aug 18 00:04 init.sapphire.rc*
-rwxr-x---    1 0        0            1765 Aug 18 00:04 init.trout.rc*
lrwxrwxrwx    1 0        0              11 Aug 23 20:22 lib -> /system/lib/
dr-xr-xr-x   76 0        0               0 Jan  1  1970 proc/
drwx------    2 0        0               0 Aug 22 21:26 root/
drwxr-x---    2 0        0               0 Aug 18 00:04 sbin/
d---rwxrwx   20 1000     1000         4096 Aug 25 13:07 sdcard/
drwxrwxrwt    2 0        0              40 Aug 25 20:22 sqlite_stmt_journals/
drwxr-xr-x   14 0        0               0 Jan  1  1970 sys/
drwxr-xr-x    1 0        0            2048 Aug 23 20:20 system/

Threre are 2 big issues here, notice that after the permissions, I have 4 groups of numbers then the date, yours does not, it has the owner and the group, and only has a file size for files, not folders or links to folders.


The other big issue is notice how my list has the line ending with a *, / or nothing. These are used to determine what type of file it is, an executable ends with *, a folder ends with a /, a normal file has nothing and there are a couple others too.


I would think the version of BusyBox would determine the output, but it seems there is something else.

 


 

Can you try to change the command used to get the directory info.

Open Resources.resx in DroidExplorer.Core/Properites and change: ls -lF {0} to busybox ls -lF {0}

 

Coordinator
Aug 25, 2009 at 8:41 PM

oops, forgot, in Resource.resx, the Name is ListDirectoryCommand

Coordinator
Aug 25, 2009 at 8:53 PM

also, did you type ls --help or busybox ls --help

I think that you dont have busybox->ls  linked to ls. so changing the ListDirectoryCommand should fix it. This is also one of the changes I will be checking in later as well.

Coordinator
Aug 26, 2009 at 5:55 PM

the changes i mention have been checked in, let me know if you try it and they do not work. it looks like to me though that busybox --install was not ran on the device, so ls is still the original android ls.

Sep 16, 2009 at 8:46 AM
Edited Sep 16, 2009 at 9:13 AM

I rebuild the sofware from source , this build fix the freeze crash at startup due to the LS bug ( some roms use a new version of busiybox , that enabled color sheme by default , and adds strange caracter in some terminal)

here is my build

http://forum.xda-developers.com/showthread.php?t=559723

EDIT : not everything seems to work , Process explorer do not work ( maybe due to the busybox version output) , package manager , .......

 

BusyBox v1.15.0 (2009-08-25 15:17:43 BST) multi-call binary

busybox is from MODACOM ROM 2.2 for hero
so i change the ListDirectoryCommand option
Resources.resx in DroidExplorer.Core/Properites and change: ls -lF {0} to busybox ls -lF {0} --color=never
Coordinator
Sep 18, 2009 at 6:13 PM

Thanks, I have fixed this, but just to let you know, the package manager doesnt work because of where you added --color=never, it should be 

busybox ls -lF --color=never {0}
--color=never

This is because the capturing of the current directory is expecting the last part of the busybox ls call to be the path