Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 13 Jul 2019 23:50:03 +0200
From:      Polytropon <freebsd@edvax.de>
To:        Manish Jain <bourne.identity@hotmail.com>
Cc:        "freebsd-questions@freebsd.org" <freebsd-questions@freebsd.org>
Subject:   Re: How to explore Android device files under FreeBSD ?
Message-ID:  <20190713235003.da37dc7c.freebsd@edvax.de>
In-Reply-To: <20190713224753.f5e51166.freebsd@edvax.de>
References:  <AM0PR03MB45946F28AAF9A2F51F97A589F6CD0@AM0PR03MB4594.eurprd03.prod.outlook.com> <20190713224753.f5e51166.freebsd@edvax.de>

next in thread | previous in thread | raw e-mail | index | archive | help
Addition from recycled notes:

It is possible that more than one device will be recognized.
Some versions of Android seem to differentiate between "built-in
memory" and "external memory" (usually a micro-SD card, but
sometimes also a built-in storage chip). In this case, you
can mount both devices.

On your phone, you'll usually have to do some preparation.
I have no idea how the english version looks like, but if I
translate from a german equivalent, the setting is:

	settings -> wireless and network -> USB settings -> mass storage

Now two devices will be visible, the "internal memory":

	# mount -t msdosfs -o ro /dev/da0 /mnt/int

And the micro-SD card:

	# mount -t msdosfs -o ro /dev/da1 /mnt/sd

You can then use your favorite GUI file browser or the
Midnight Commander to explore what you can get access to.
Remember my previous statement: On non-rooted phones, access
to a certain "inner storage" is not possible, which usually
contains contacts, SMS, phone lists, and so on. Using some
app (I think it was called "Total Commander", but I'm not sure,
I only know this name as a Norton Commander GUI clone used in
the pre-"Windows '95" era), it's sometimes possible to copy
information from the "inner storage" to one of the non-
restricted areas (equivalents of "int" and "sd" as shown in
the example).

In your settings, you can also enable access via adb:

settings -> applications -> development -> USB debugging

Now a new /dev/ugen* device will appear, and you can access
it with the adb program.

	# adb start-server
	# adb devices

Here, your phone should be listed. You can now invoke an
interactive shell to explore the file systems:

	# adb shell

Commands like "cd" and "ls" can be used. And if you know the
locations of stuff, you can copy files, for example:

	# adb pull -p -a /sdcard/GreatApp/meow.txt .

Or you can simply copy everything you can get, and review
the content later on:

	# adb pull sdcard/

Note: In this example "sdcard" does _not_ mean the micro-SD
card mentioned at the beginning! It's the internal memory
without the "privileged area". There's also /sdcard/internal_sd,
which I'm not sure anymore what it stands for.

Simplified:

	/sdcard = / of da0 -> /mnt/int

	/sdcard/internal_sd = / of da1 -> /mnt/sd

All other directory entries in / are _not_ being exported as
direct access media; they can only be accessed with adb.

Finally, here are two examples of "adb shell" which you can use
to search for files and and download them:

	# adb shell find "/sdcard/<directory>" -iname "*jpg" | tr -d '\015' \
		| while read LINE; do adb pull ${LINE}; done

	# adb shell ls /sdcard/gps*.trace | tr '\r' '' | xargs -n 1 adb pull

All this information has been created from notes taken 3 years ago.
I hardly deal with this stuff anymore, and I have no experience
with modern technology, so see this as suggestions for further
experiments. ;-)




-- 
Polytropon
Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20190713235003.da37dc7c.freebsd>