<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;Ck8MSHoyeyp7ImA9WhFSEUs.&quot;"><id>tag:blogger.com,1999:blog-8690909935651405396</id><updated>2013-06-13T15:01:29.493-07:00</updated><category term="malware" /><category term="symantec" /><category term="qextract" /><category term="qextract.exe" /><category term="reverseengineering" /><title>Jamaal Speights - devblog</title><subtitle type="html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://jamaaldev.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://jamaaldev.blogspot.com/" /><author><name>Jamaal Speights</name><uri>https://plus.google.com/112466889715142843916</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-FdX_yAQQovc/AAAAAAAAAAI/AAAAAAAAIlI/VgwRPO_QSsQ/s512-c/photo.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>11</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/JamaalSpeights-Devblog" /><feedburner:info uri="jamaalspeights-devblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;Ck8MSHs7cCp7ImA9WhFSEUs.&quot;"><id>tag:blogger.com,1999:blog-8690909935651405396.post-3596270209056828765</id><published>2013-06-13T03:39:00.002-07:00</published><updated>2013-06-13T15:01:29.508-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-06-13T15:01:29.508-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="symantec" /><category scheme="http://www.blogger.com/atom/ns#" term="reverseengineering" /><category scheme="http://www.blogger.com/atom/ns#" term="malware" /><category scheme="http://www.blogger.com/atom/ns#" term="qextract.exe" /><category scheme="http://www.blogger.com/atom/ns#" term="qextract" /><title>Symantec Quarantined VBN file decoder </title><content type="html">pyqextract.py will decode Symantec quarantined vbn files. &amp;nbsp;Like many others I couldn't get qextract.exe to work so I wrote my own. &amp;nbsp;This decoder removes the magic bytes&amp;nbsp;Symantec adds to each file that is&amp;nbsp;quarantined. &amp;nbsp;The "magic bytes" break the IAT, data/code segments by offsetting everything in the executable. &lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Usage: $ python pyqextract.py &lt;b&gt;5BB7429F.VBN&lt;/b&gt;&amp;nbsp; out.exe&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
Download &lt;a href="http://jamaal-re-tools.googlecode.com/git/pyqextract/pyqextract.py"&gt;pyqextract.py&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;img src="http://feeds.feedburner.com/~r/JamaalSpeights-Devblog/~4/s--BnqjVhR4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jamaaldev.blogspot.com/feeds/3596270209056828765/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jamaaldev.blogspot.com/2013/06/symantec-quarantined-vbn-file-decoder.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8690909935651405396/posts/default/3596270209056828765?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8690909935651405396/posts/default/3596270209056828765?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JamaalSpeights-Devblog/~3/s--BnqjVhR4/symantec-quarantined-vbn-file-decoder.html" title="Symantec Quarantined VBN file decoder " /><author><name>Jamaal Speights</name><uri>https://plus.google.com/112466889715142843916</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-FdX_yAQQovc/AAAAAAAAAAI/AAAAAAAAIlI/VgwRPO_QSsQ/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://jamaaldev.blogspot.com/2013/06/symantec-quarantined-vbn-file-decoder.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU4FSXg6fSp7ImA9WhRUEEk.&quot;"><id>tag:blogger.com,1999:blog-8690909935651405396.post-1089942307749106926</id><published>2012-01-20T00:25:00.000-08:00</published><updated>2012-01-20T00:25:18.615-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-20T00:25:18.615-08:00</app:edited><title>Another Python for Android Project</title><content type="html">This project looks better than SL4A + Py4A. More to come.&lt;br /&gt;
&lt;a href="http://python-for-android.readthedocs.org/en/latest/index.html"&gt;http://python-for-android.readthedocs.org/en/latest/index.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;&lt;img src="http://feeds.feedburner.com/~r/JamaalSpeights-Devblog/~4/CFmcLNq7MUo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jamaaldev.blogspot.com/feeds/1089942307749106926/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jamaaldev.blogspot.com/2012/01/another-python-for-android-project.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8690909935651405396/posts/default/1089942307749106926?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8690909935651405396/posts/default/1089942307749106926?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JamaalSpeights-Devblog/~3/CFmcLNq7MUo/another-python-for-android-project.html" title="Another Python for Android Project" /><author><name>Jamaal Speights</name><uri>https://plus.google.com/112466889715142843916</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-FdX_yAQQovc/AAAAAAAAAAI/AAAAAAAAIlI/VgwRPO_QSsQ/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://jamaaldev.blogspot.com/2012/01/another-python-for-android-project.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0UGRn8yfCp7ImA9WhRVGEs.&quot;"><id>tag:blogger.com,1999:blog-8690909935651405396.post-8880529057170208157</id><published>2012-01-07T01:55:00.000-08:00</published><updated>2012-01-17T21:40:27.194-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-17T21:40:27.194-08:00</app:edited><title>Running Volatility Memory Forensics Framework on your android phone!</title><content type="html">&lt;div&gt;
In this post i'll quickly show you how to build your own python&amp;nbsp;&lt;em style="background-color: white; font-family: arial, sans-serif; font-size: small; font-style: normal; font-weight: bold; line-height: 16px;"&gt;egg&lt;/em&gt;&lt;span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: x-small; line-height: 16px;"&gt;&amp;nbsp;distribution package for your Android phone and PY4A. &amp;nbsp;&lt;/span&gt;Volatility will be our example&amp;nbsp;&lt;span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: x-small; line-height: 16px;"&gt;distribution package&lt;/span&gt;&amp;nbsp;we will use.  You can use the steps below to build your own python egg files for other modules like&amp;nbsp;Pycrypto for example. &amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;a href="https://www.volatilesystems.com/default/volatility"&gt;Volatility&lt;/a&gt; = The best Memory Forensics Framework&lt;br /&gt;
Android with &lt;a href="http://code.google.com/p/android-scripting/"&gt;sl4a&lt;/a&gt;  = Best mobile phone OS + Python!  &lt;br /&gt;
&lt;div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
Please read my past posts on getting &lt;a href="http://code.google.com/p/python-for-android/"&gt;python&lt;/a&gt; running on your android.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
1) Get the android-ndk, uncompress it and setup exports like this: &lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;
ff@shoryuken:~$ &lt;b&gt;wget http://dl.google.com/android/ndk/android-ndk-r7-linux-x86.tar.bz2&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
ff@shoryuken:~$&lt;b&gt; tar xjvf android-ndk-r7-linux-x86.tar.bz2&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
ff@shoryuken:~$&lt;b&gt; &lt;/b&gt;&lt;b&gt;mkdir android-toolchain&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
ff@shoryuken:~$&lt;b&gt; export ANDROID_NDK=~/android-ndk-r7&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
ff@shoryuken:~$&lt;b&gt; &lt;/b&gt;&lt;b&gt;export ANDROID_NDK_TOOLCHAIN_ROOT=~/android-toolchain&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
ff@shoryuken:~$ &lt;b&gt;$ANDROID_NDK/build/tools/make-standalone-toolchain.sh --platform=android-14 --install-dir=$ANDROID_NDK_TOOLCHAIN_ROOT&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="font-weight: bold;"&gt;
Auto-config: --toolchain=arm-linux-androideabi-4.4.3&lt;/div&gt;
&lt;div style="font-weight: bold;"&gt;
Copying prebuilt binaries...&lt;/div&gt;
&lt;div style="font-weight: bold;"&gt;
Copying sysroot headers and libraries...&lt;/div&gt;
&lt;div style="font-weight: bold;"&gt;
Copying libstdc++ headers and libraries...&lt;/div&gt;
&lt;div style="font-weight: bold;"&gt;
Copying files to: /home/ff/android-toolchain&lt;/div&gt;
&lt;div style="font-weight: bold;"&gt;
Cleaning up...&lt;/div&gt;
&lt;div style="font-weight: bold;"&gt;
Done.&lt;/div&gt;
&lt;div style="font-weight: bold;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
2) Grab the Standalone library for compiling modules from &lt;a href="http://code.google.com/p/python-for-android/downloads/list"&gt;http://code.google.com/p/python-for-android/downloads/list&lt;/a&gt; in this case we're getting&lt;b&gt; http://python-for-android.googlecode.com/files/python-lib_r16.zip  &lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;From your $HOME directory &lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
--&amp;gt; ff@shoryuken:~$&lt;b&gt; wget http://python-for-android.googlecode.com/files/python-lib_r16.zip &lt;/b&gt;&lt;/div&gt;
&lt;div style="font-weight: bold;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="font-weight: bold;"&gt;
Unzip &lt;b&gt;python-lib_r16.zip &lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
ff@shoryuken:~$ &lt;b&gt;unzip python-lib_r16.zip &lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Archive:  python-lib_r16.zip&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;  inflating: setup.sh                &lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;  inflating: python.sh  &lt;/b&gt;             &lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;---------snip-------------------------------------&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
3) Make sure &lt;b&gt;python-setuptools&lt;/b&gt; is installed and grab &lt;b&gt;volatility&lt;/b&gt; and uncompress&lt;/div&gt;
&lt;div&gt;
ff@shoryuken:~$&lt;b&gt; sudo apt-get install python-setuptools&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div style="display: inline !important;"&gt;
ff@shoryuken:~$&lt;b&gt; wget https://www.volatilesystems.com/volatility/2.0/volatility-2.0.tar.gz&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
ff@shoryuken:~$&lt;b&gt; tar zxvf volatility-2.0.tar.gz &lt;/b&gt;&lt;/div&gt;
&lt;div style="font-weight: bold;"&gt;
volatility-2.0/&lt;/div&gt;
&lt;div style="font-weight: bold;"&gt;
volatility-2.0/contrib/&lt;/div&gt;
&lt;div style="font-weight: bold;"&gt;
volatility-2.0/contrib/plugins/&lt;/div&gt;
&lt;div style="font-weight: bold;"&gt;
volatility-2.0/contrib/plugins/disablewarnings.py&lt;/div&gt;
&lt;div style="font-weight: bold;"&gt;
volatility-2.0/contrib/plugins/example.py&lt;/div&gt;
&lt;div style="font-weight: bold;"&gt;
volatility-2.0/contrib/plugins/verinfo.py&lt;/div&gt;
&lt;div style="font-weight: bold;"&gt;
volatility-2.0/contrib/plugins/psdispscan.py&lt;/div&gt;
&lt;/div&gt;
&lt;div style="font-weight: bold;"&gt;
&lt;b&gt;---------snip-------------------------------------&lt;/b&gt;&lt;/div&gt;
&lt;div style="font-weight: bold;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
4) Building the volatility egg,...&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Change into the volatility directory&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
ff@shoryuken:~$ &lt;b&gt;cd volatility-2.0/&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;We need to update setup.py and setup.cfg. &amp;nbsp;&lt;/b&gt;&lt;b&gt;Add the following to the top of the setup.py file in the &lt;/b&gt;&lt;b&gt;volatility-2.0 directory.&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;pre class="prettyprint" style="background-color: white; max-width: 70em; overflow-x: auto; overflow-y: auto; padding-bottom: 0.5em; padding-left: 0.5em; padding-right: 0.5em; padding-top: 0.5em; text-align: -webkit-auto;"&gt;&lt;b&gt;&lt;span class="kwd" style="color: #000088;"&gt;from&lt;/span&gt;&lt;span class="pln"&gt; py4a &lt;/span&gt;&lt;span class="kwd" style="color: #000088;"&gt;import&lt;/span&gt;&lt;span class="pln"&gt; patch_distutils
patch_distutils&lt;/span&gt;&lt;span class="pun" style="color: #666600;"&gt;()
&lt;/span&gt;&lt;/b&gt;&lt;b style="background-color: transparent;"&gt;
&lt;/b&gt;&lt;/pre&gt;
&lt;div&gt;
&lt;b&gt;So the setup.py file should look like this....&amp;nbsp;&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
ff@shoryuken:~/volatility-2.0$ &lt;b&gt;cat setup.py  | less&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;---------snip-------------------------------------&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA &lt;/div&gt;
&lt;div&gt;
#&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;from py4a import patch_distutils &amp;nbsp; &amp;nbsp;#Add these 2 lines to the top of the setp.py file&amp;nbsp;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;patch_distutils()&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
try:&lt;/div&gt;
&lt;div&gt;
from setuptools import setup&lt;/div&gt;
&lt;div&gt;
except ImportError:&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;---------snip-------------------------------------&lt;/b&gt;&lt;/div&gt;
&lt;div style="font-weight: bold;"&gt;
&lt;br /&gt;
Edit your setup.cfg file to it looks like this:&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
ff@shoryuken:~/volatility-2.0$&lt;b&gt; cat setup.cfg &lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
[egg_info]&lt;/div&gt;
&lt;div&gt;
tag_build = &lt;/div&gt;
&lt;div&gt;
tag_date = 0&lt;/div&gt;
&lt;div&gt;
tag_svn_revision = 0&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;[bdist_egg]&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;plat-name=linux-armv&lt;/b&gt;&lt;/div&gt;
&lt;div style="font-weight: bold;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Source the python-lib setup.sh file from the volatility and build the egg..&lt;/b&gt;&lt;br /&gt;
ff@shoryuken:~/volatility-2.0$&lt;b&gt; source ../python-lib/setup.sh&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Build the egg file...&amp;nbsp;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
ff@shoryuken:~/volatility-2.0$ &lt;b&gt;python2.6 setup.py bdist_egg&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;running bdist_egg&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;running egg_info&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;writing volatility.egg-info/PKG-INFO&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;writing top-level names to volatility.egg-info/top_level.txt&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;writing dependency_links to volatility.egg-info/dependency_links.txt&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;reading manifest file 'volatility.egg-info/SOURCES.txt'&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;reading manifest template 'MANIFEST.in'&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;---------snip-------------------------------------&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;In ~&lt;/b&gt;&lt;b&gt;/volatility-2.0/dist you should see the file "&lt;/b&gt;&lt;b&gt;volatility-2.0-py2.6.egg"&lt;/b&gt;&lt;br /&gt;
ff@shoryuken:~/volatility-2.0/dist$&lt;b&gt; ls&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div style="font-weight: bold;"&gt;
volatility-2.0-py2.6.egg&amp;nbsp;&lt;/div&gt;
&lt;div style="font-weight: bold;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
5) Running Volatility on your android phone &lt;/div&gt;
&lt;div style="font-weight: bold;"&gt;
Push the egg to your phone.  We place the file into the &lt;b&gt;/sdcard/Download directory like so..&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
ff@shoryuken:~$ &lt;b&gt;~/android-sdks/platform-tools/adb push ~/volatility-2.0/dist/volatility-2.0-py2.6.egg /sdcard/Download&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div style="font-weight: bold;"&gt;
&lt;b&gt;Open Python for Android on your phone and click Import Modules&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;a href="http://1.bp.blogspot.com/-LWSFNlJdsKA/TxUQecEQseI/AAAAAAAABbA/6aTt4RlX4OE/s1600/modinstall.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5698479018623414754" src="http://1.bp.blogspot.com/-LWSFNlJdsKA/TxUQecEQseI/AAAAAAAABbA/6aTt4RlX4OE/s400/modinstall.png" style="cursor: hand; cursor: pointer; height: 400px; width: 225px;" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Under the Import Module menu select volatility-2.0-py2.6.egg file.&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;a href="http://3.bp.blogspot.com/-Nvdn0tZrZlU/TxUQwi11JgI/AAAAAAAABbM/blUZkvtVuPg/s1600/modimport.png"&gt;&lt;img alt="" border="0" id="BLOGGR_PHOTO_ID_5698479329679582722" src="http://3.bp.blogspot.com/-Nvdn0tZrZlU/TxUQwi11JgI/AAAAAAAABbM/blUZkvtVuPg/s400/modimport.png" style="cursor: hand; cursor: pointer; height: 400px; width: 225px;" /&gt;&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;You should get a message letting you know the module imported correctly.&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;a href="http://2.bp.blogspot.com/-BCqC9c390ec/TxUhdqOwqyI/AAAAAAAABcc/HGAHXlt9Wmk/s1600/volimported.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5698497696943352610" src="http://2.bp.blogspot.com/-BCqC9c390ec/TxUhdqOwqyI/AAAAAAAABcc/HGAHXlt9Wmk/s400/volimported.png" style="height: 400px; width: 225px;" /&gt;&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Copy the main vol.py script to your phone&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div style="font-weight: bold;"&gt;
&lt;span style="font-weight: normal;"&gt;ff@shoryuken:~/volatility-2.0/dist$&lt;/span&gt;&lt;b&gt;&lt;b&gt;~/android-sdks/platform-tools/adb push&amp;nbsp;&lt;/b&gt;&lt;/b&gt;~/volatility-2.0/vol.py /sdcard/sl4a/scripts/&lt;/div&gt;
&lt;/div&gt;
&lt;div style="font-weight: bold;"&gt;
Save the following script into a file called runvol.py:&lt;/div&gt;
&lt;div&gt;
&lt;span style="font-weight: normal;"&gt;ff@shoryuken:~/volatility-2.0/dist$ &lt;/span&gt;&lt;b&gt;cat&amp;nbsp;runvol.py&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;div&gt;
import android&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
import os &lt;/div&gt;
&lt;div&gt;
import sys &lt;/div&gt;
&lt;div&gt;
droid = android.Android()&lt;/div&gt;
&lt;div&gt;
cmd = "vol.py -h"&lt;/div&gt;
&lt;div&gt;
#print os.path.realpath(os.path.dirname(sys.argv[0]))&lt;/div&gt;
&lt;div&gt;
os.system("/data/data/com.googlecode.pythonforandroid/files/python/bin/python /mnt/sdcard/sl4a/scripts/vol.py -f /mnt/sdcard/Download/xp.dmp pslist")&lt;/div&gt;
&lt;div&gt;
#os.system("/mnt/sdcard/sl4a/scripts/vol.py -h")&lt;/div&gt;
&lt;div&gt;
#print sys.executable&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;div style="text-align: center;"&gt;
&lt;b&gt;&lt;span style="background-color: #eeeeee; font-size: large;"&gt;Dumping Memory with Qemu&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;div style="text-align: left;"&gt;
&lt;span style="background-color: #eeeeee;"&gt;In this example I've made an memory image from Windows XP running on Qemu using pmemsave from the &lt;a href="http://en.wikibooks.org/wiki/QEMU/Monitor"&gt;Qemu monitor&lt;/a&gt;.  I saved the memory image file to xp.dmp. The script will run pslist against the xp.dmp file.  For more information on getting a memory image using QEMU read&amp;nbsp;&lt;a href="http://web.cs.du.edu/~mitchell/forensics/projects/memory/Setup.pdf"&gt;http://web.cs.du.edu/~mitchell/forensics/projects/memory/Setup.pdf&lt;/a&gt;  &lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span style="background-color: #eeeeee;"&gt;To help you out some in order to get the image size we take the windows XP memory image SIZE&lt;/span&gt;&lt;span style="background-color: #eeeeee; text-align: -webkit-auto;"&gt; times (1024^2) = mem_size. &amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #eeeeee;"&gt;So for example if we have a windows image running in qemu thats using 128megs of        memory, from the Qemu Monitor we would type: (&lt;/span&gt;&lt;span style="background-color: #f9f9f9; font-family: monospace, 'Courier New'; font-size: 13px; line-height: 19px; text-align: -webkit-auto;"&gt;CTRL-ALT-2 to enter Qemus monitor,&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #f9f9f9; font-family: monospace, 'Courier New'; font-size: 13px; line-height: 19px; text-align: -webkit-auto;"&gt;CTRL-ALT-1 to switch back to the OS)&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;b style="background-color: #eeeeee;"&gt;(qemu) pmemsave 0 &lt;span style="color: #222222;"&gt;134217728 &lt;/span&gt;xp.dmp&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="text-align: -webkit-auto;"&gt;
&lt;div style="text-align: -webkit-auto;"&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span style="background-color: #eeeeee; color: #222222;"&gt;How did we get the number &lt;/span&gt;&lt;span style="background-color: #eeeeee; color: #222222;"&gt;134217728? &amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #eeeeee; color: #222222;"&gt;128 * (1024^2) = 134217728&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="text-align: -webkit-auto;"&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span style="background-color: #eeeeee;"&gt;Above the command "pmemsave 0 &lt;span style="color: #222222;"&gt;134217728 &lt;/span&gt;xp.dmp" breaks down like this &lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="text-align: -webkit-auto;"&gt;
&lt;div style="text-align: justify;"&gt;
&lt;b style="background-color: #eeeeee;"&gt;-&amp;gt; pmemsave - the command to save memory &lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="text-align: -webkit-auto;"&gt;
&lt;div style="text-align: justify;"&gt;
&lt;b style="background-color: #eeeeee;"&gt;-&amp;gt; 0 is the first offset in memory to start from&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="text-align: -webkit-auto;"&gt;
&lt;div style="text-align: justify;"&gt;
&lt;b style="background-color: #eeeeee;"&gt;-&amp;gt;&amp;nbsp;&lt;span style="color: #222222;"&gt;134217728 (basically 128M) &lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="text-align: -webkit-auto;"&gt;
&lt;div style="text-align: justify;"&gt;
&lt;b style="background-color: #eeeeee;"&gt;-&amp;gt; xp.dmp (output file)&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;b style="text-align: -webkit-auto;"&gt;Next we need to copy this memory image to your phone....&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="text-align: -webkit-auto;"&gt;
&lt;b style="color: #222222;"&gt;Coping the memory image to your phones Download directory&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
ff@shoryuken:~$&lt;b&gt; ~/android-sdks/platform-tools/adb push &lt;span style="color: #222222; text-align: -webkit-auto;"&gt;xp.dmp /sdcard/Download/xp.dmp&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="font-weight: bold;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Copy the runvol.py script (above) to /sdcard/sl4a/scripts/&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
ff@shoryuken:~$&lt;b&gt; &lt;/b&gt;&lt;b&gt;~/android-sdks/platform-tools/adb push runvol.py /sdcard/sl4a/scripts/&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;span style="color: #222222;"&gt;Open sl4a and click runvol.py&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b style="color: #222222; text-align: -webkit-auto;"&gt;&lt;a href="http://1.bp.blogspot.com/-sBCYhyL1WhU/TxUZq-NGreI/AAAAAAAABb4/ptyGSkxZJ-Y/s1600/volScript.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5698489129550392802" src="http://1.bp.blogspot.com/-sBCYhyL1WhU/TxUZq-NGreI/AAAAAAAABb4/ptyGSkxZJ-Y/s400/volScript.png" style="cursor: hand; cursor: pointer; height: 400px; width: 225px;" /&gt;&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;When you click on runvol.py select the black terminal box to the left and you should be reward with something like this!&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-align: -webkit-auto;"&gt;
&lt;b&gt;&lt;a href="http://3.bp.blogspot.com/-3qojI74caO4/TxUaW9v8ufI/AAAAAAAABcE/git8VLgp_DU/s1600/volrunning.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5698489885342349810" src="http://3.bp.blogspot.com/-3qojI74caO4/TxUaW9v8ufI/AAAAAAAABcE/git8VLgp_DU/s400/volrunning.png" style="cursor: hand; cursor: pointer; height: 400px; width: 225px;" /&gt;&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-align: -webkit-auto;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: -webkit-auto;"&gt;
&lt;b&gt;Ignore the Traceback error for now, however if you've gotten this far you've installed Volatility on your phone!  We can update the script to run "volshell"&amp;nbsp;&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-align: -webkit-auto;"&gt;
&lt;b&gt;In the runvol.py script change:&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-align: -webkit-auto;"&gt;
&lt;span style="text-align: left;"&gt;os.system("/data/data/com.googlecode.pythonforandroid/files/python/bin/python /mnt/sdcard/sl4a/scripts/vol.py -f /mnt/sdcard/Download/xp.dmp &lt;b&gt;pslist&lt;/b&gt;")&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;b&gt;To..&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
os.system("/data/data/com.googlecode.pythonforandroid/files/python/bin/python /mnt/sdcard/sl4a/scripts/vol.py -f /mnt/sdcard/Download/xp.dmp &lt;b&gt;volshell&lt;/b&gt;")&lt;/div&gt;
&lt;div style="text-align: -webkit-auto;"&gt;
&lt;b&gt;And repush the script to your phone&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-align: -webkit-auto;"&gt;
ff@shoryuken:&lt;b&gt;~/android-sdks/platform-tools$ ./adb push runvol.py /sdcard/sl4a/scripts/&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;On your phone rerun the runvol.py script and type hh() and ps() for example like so&lt;/b&gt;&lt;br /&gt;
&lt;div&gt;
&lt;a href="http://3.bp.blogspot.com/-E1pCu6TTAQ4/TxUb7Ol3PSI/AAAAAAAABcQ/YgIL-kzRor0/s1600/volshell.png"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5698491607850368290" src="http://3.bp.blogspot.com/-E1pCu6TTAQ4/TxUb7Ol3PSI/AAAAAAAABcQ/YgIL-kzRor0/s1600/volshell.png" style="cursor: hand; cursor: pointer; height: 400px; width: 225px;" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style="color: #222222;"&gt;This post showed you how to build and import a python egg file for&amp;nbsp;&lt;/span&gt;&lt;a href="https://www.volatilesystems.com/default/volatility"&gt;The Volatility Framework&lt;/a&gt;&lt;span style="color: #222222;"&gt;&amp;nbsp;running&lt;/span&gt;&lt;span style="color: #222222;"&gt;&amp;nbsp;on your android phone with &lt;a href="http://code.google.com/p/android-scripting/"&gt;python 4 android&lt;/a&gt;. &amp;nbsp;&lt;/span&gt;Now you can do memory forensics from anywhere!&lt;/div&gt;
&lt;div&gt;
&lt;a href="http://i.imgur.com/2nLwd.gif"&gt;&lt;img alt="" border="0" src="http://i.imgur.com/2nLwd.gif" style="cursor: hand; cursor: pointer; height: 288px; width: 335px;" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JamaalSpeights-Devblog/~4/RtC6Xsrgj_k" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jamaaldev.blogspot.com/feeds/8880529057170208157/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jamaaldev.blogspot.com/2012/01/running-volatility-memory-forensics-on.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8690909935651405396/posts/default/8880529057170208157?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8690909935651405396/posts/default/8880529057170208157?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JamaalSpeights-Devblog/~3/RtC6Xsrgj_k/running-volatility-memory-forensics-on.html" title="Running Volatility Memory Forensics Framework on your android phone!" /><author><name>Jamaal Speights</name><uri>https://plus.google.com/112466889715142843916</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-FdX_yAQQovc/AAAAAAAAAAI/AAAAAAAAIlI/VgwRPO_QSsQ/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-LWSFNlJdsKA/TxUQecEQseI/AAAAAAAABbA/6aTt4RlX4OE/s72-c/modinstall.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://jamaaldev.blogspot.com/2012/01/running-volatility-memory-forensics-on.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkYARHozfyp7ImA9WhRWGE0.&quot;"><id>tag:blogger.com,1999:blog-8690909935651405396.post-552818673162308258</id><published>2012-01-05T14:51:00.000-08:00</published><updated>2012-01-05T14:55:45.487-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-05T14:55:45.487-08:00</app:edited><title>The Mobile Malware mini dump</title><content type="html">If you're researching malware on android this page is a wonderful resource for malware samples.  &lt;br /&gt;&lt;br /&gt;&lt;a href="http://contagiominidump.blogspot.com/"&gt;http://contagiominidump.blogspot.com/&lt;/a&gt;&lt;img src="http://feeds.feedburner.com/~r/JamaalSpeights-Devblog/~4/LEDNBQAuZkk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jamaaldev.blogspot.com/feeds/552818673162308258/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jamaaldev.blogspot.com/2012/01/mobile-malware-mini-dump.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8690909935651405396/posts/default/552818673162308258?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8690909935651405396/posts/default/552818673162308258?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JamaalSpeights-Devblog/~3/LEDNBQAuZkk/mobile-malware-mini-dump.html" title="The Mobile Malware mini dump" /><author><name>Jamaal Speights</name><uri>https://plus.google.com/112466889715142843916</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-FdX_yAQQovc/AAAAAAAAAAI/AAAAAAAAIlI/VgwRPO_QSsQ/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://jamaaldev.blogspot.com/2012/01/mobile-malware-mini-dump.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CU8CSXk7eyp7ImA9WhRWGE0.&quot;"><id>tag:blogger.com,1999:blog-8690909935651405396.post-2720149824642780086</id><published>2012-01-03T13:38:00.001-08:00</published><updated>2012-01-05T14:51:08.703-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-05T14:51:08.703-08:00</app:edited><title>App Inventor for Android</title><content type="html">I came across this on the way, it looks promising.  &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.appinventorbeta.com/about/"&gt;http://www.appinventorbeta.com/about/&lt;/a&gt;&lt;img src="http://feeds.feedburner.com/~r/JamaalSpeights-Devblog/~4/1sBX9b8VfuY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jamaaldev.blogspot.com/feeds/2720149824642780086/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jamaaldev.blogspot.com/2012/01/app-inventor-for-android.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8690909935651405396/posts/default/2720149824642780086?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8690909935651405396/posts/default/2720149824642780086?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JamaalSpeights-Devblog/~3/1sBX9b8VfuY/app-inventor-for-android.html" title="App Inventor for Android" /><author><name>Jamaal Speights</name><uri>https://plus.google.com/112466889715142843916</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-FdX_yAQQovc/AAAAAAAAAAI/AAAAAAAAIlI/VgwRPO_QSsQ/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://jamaaldev.blogspot.com/2012/01/app-inventor-for-android.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEUNQXYzfSp7ImA9WhRWFEs.&quot;"><id>tag:blogger.com,1999:blog-8690909935651405396.post-8275763361439827302</id><published>2012-01-01T16:57:00.000-08:00</published><updated>2012-01-01T17:04:50.885-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-01T17:04:50.885-08:00</app:edited><title>How to increase the internal partition size an emulated android device</title><content type="html">By default the Android emulator will run only using a small amount of memory and you'll run out quick.  Here's how to increase the memory size without recreating your emulation avd&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;-partition-size 512 &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Example Script &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;ff@shoryuken:~/android-sdks/tools$ more phoneup.sh &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;#Phone up script &lt;br /&gt;#device A &lt;br /&gt;sudo umount /home/ff/android-sdks/tools/a&lt;br /&gt;sudo mount -o loop smsAC /home/ff/android-sdks/tools/a&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;./emulator -partition-size 512 -avd smsA -sdcard ./smsAC &amp; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;ff@shoryuken:~/android-sdks/tools$&lt;/span&gt;&lt;img src="http://feeds.feedburner.com/~r/JamaalSpeights-Devblog/~4/0lmKi2Efflw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jamaaldev.blogspot.com/feeds/8275763361439827302/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jamaaldev.blogspot.com/2012/01/how-to-increase-internal-partition-size.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8690909935651405396/posts/default/8275763361439827302?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8690909935651405396/posts/default/8275763361439827302?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JamaalSpeights-Devblog/~3/0lmKi2Efflw/how-to-increase-internal-partition-size.html" title="How to increase the internal partition size an emulated android device" /><author><name>Jamaal Speights</name><uri>https://plus.google.com/112466889715142843916</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-FdX_yAQQovc/AAAAAAAAAAI/AAAAAAAAIlI/VgwRPO_QSsQ/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://jamaaldev.blogspot.com/2012/01/how-to-increase-internal-partition-size.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak4BSXc4eyp7ImA9WhRWFE4.&quot;"><id>tag:blogger.com,1999:blog-8690909935651405396.post-8736012950160637226</id><published>2012-01-01T09:23:00.000-08:00</published><updated>2012-01-01T09:29:18.933-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-01T09:29:18.933-08:00</app:edited><title>QR Code Generator</title><content type="html">Use &lt;a href="http://zxing.appspot.com/"&gt;http://zxing.appspot.com/&lt;/a&gt; to create your own 2D barcodes&lt;br /&gt;  &lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/-ECwD7yfiRp4/TwCWs7W6u4I/AAAAAAAABT8/d44te8Imltg/s1600/chart.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 350px; height: 350px;" src="http://4.bp.blogspot.com/-ECwD7yfiRp4/TwCWs7W6u4I/AAAAAAAABT8/d44te8Imltg/s400/chart.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5692715627588533122" /&gt;&lt;/a&gt;&lt;img src="http://feeds.feedburner.com/~r/JamaalSpeights-Devblog/~4/bGjLBlemf7c" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jamaaldev.blogspot.com/feeds/8736012950160637226/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jamaaldev.blogspot.com/2012/01/qr-code-generator.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8690909935651405396/posts/default/8736012950160637226?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8690909935651405396/posts/default/8736012950160637226?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JamaalSpeights-Devblog/~3/bGjLBlemf7c/qr-code-generator.html" title="QR Code Generator" /><author><name>Jamaal Speights</name><uri>https://plus.google.com/112466889715142843916</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-FdX_yAQQovc/AAAAAAAAAAI/AAAAAAAAIlI/VgwRPO_QSsQ/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-ECwD7yfiRp4/TwCWs7W6u4I/AAAAAAAABT8/d44te8Imltg/s72-c/chart.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://jamaaldev.blogspot.com/2012/01/qr-code-generator.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEIBSX44cCp7ImA9WhRWE0U.&quot;"><id>tag:blogger.com,1999:blog-8690909935651405396.post-6972420530516271400</id><published>2011-12-31T13:04:00.000-08:00</published><updated>2011-12-31T17:49:18.038-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-31T17:49:18.038-08:00</app:edited><title>Creating an Android Emulator Quickly</title><content type="html">Here's how to setup an Android Phone emulator, make sure the SDK + tools are installed (see my first post).  You might have multiple Android SDK target versions to see which Android versions you have installed run the following:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;ff@shoryuken:~/android-sdks/tools$ ./android list&lt;/span&gt;&lt;br /&gt;Available Android targets:&lt;br /&gt;----------&lt;br /&gt;id: 1 or "android-7"&lt;br /&gt;     Name: Android 2.1&lt;br /&gt;     Type: Platform&lt;br /&gt;     API level: 7&lt;br /&gt;     Revision: 3&lt;br /&gt;     Skins: WQVGA400, WQVGA432, HVGA, WVGA800 (default), WVGA854, QVGA&lt;br /&gt;     ABIs : armeabi&lt;br /&gt;----------&lt;br /&gt;id: 2 or "android-14"&lt;br /&gt;     Name: Android 4.0&lt;br /&gt;     Type: Platform&lt;br /&gt;     API level: 14&lt;br /&gt;     Revision: 3&lt;br /&gt;     Skins: WQVGA400, WQVGA432, HVGA, WVGA800 (default), WXGA720, WSVGA, WVGA854, QVGA, WXGA800&lt;br /&gt;     ABIs : no ABIs.&lt;br /&gt;----------&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;id: 3 or "android-15"&lt;/span&gt;&lt;br /&gt;     Name: Android 4.0.3&lt;br /&gt;     Type: Platform&lt;br /&gt;     API level: 15&lt;br /&gt;     Revision: 1&lt;br /&gt;     Skins: WQVGA400, WQVGA432, HVGA, WVGA800 (default), WXGA720, WSVGA, WVGA854, QVGA, WXGA800&lt;br /&gt;     ABIs : armeabi-v7a&lt;br /&gt;----------&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;id: 4 or "Google Inc.:Google APIs:15"&lt;br /&gt;&lt;/span&gt;     Name: Google APIs&lt;br /&gt;     Type: Add-On&lt;br /&gt;     Vendor: Google Inc.&lt;br /&gt;     Revision: 1&lt;br /&gt;     Description: Android + Google APIs&lt;br /&gt;     Based on Android 4.0.3 (API level 15)&lt;br /&gt;     Libraries:&lt;br /&gt;      * com.google.android.media.effects (effects.jar)&lt;br /&gt;          Collection of video effects&lt;br /&gt;      * com.android.future.usb.accessory (usb.jar)&lt;br /&gt;          API for USB Accessories&lt;br /&gt;      * com.google.android.maps (maps.jar)&lt;br /&gt;          API for Google Maps&lt;br /&gt;     Skins: WVGA854, WQVGA400, WSVGA, WXGA720, HVGA, WQVGA432, QVGA, WVGA800 (default), WXGA800&lt;br /&gt;     ABIs : armeabi-v7a&lt;br /&gt;Available Android Virtual Devices:&lt;br /&gt;    Name: galaxy&lt;br /&gt;    Path: /home/ff/.android/avd/galaxy.avd&lt;br /&gt;  Target: Android 4.0.3 (API level 15)&lt;br /&gt;     ABI: armeabi-v7a&lt;br /&gt;    Skin: WVGA800&lt;br /&gt;&lt;br /&gt;In my case I would like to emulate id 4 ("id: 4 or "Google Inc.:Google APIs:15"&lt;br /&gt;") so I would run the following command:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;ff@shoryuken:~/android-sdks/tools$ ./android create avd -n phoneA -t 4&lt;/span&gt;&lt;br /&gt;Created AVD 'phoneA' based on Google APIs (Google Inc.), ARM (armeabi-v7a) processor,&lt;br /&gt;with the following hardware config:&lt;br /&gt;hw.lcd.density=240&lt;br /&gt;vm.heapSize=48&lt;br /&gt;hw.ramSize=512&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now to run the emulator we type: &lt;br /&gt;&lt;span style="font-weight:bold;"&gt;ff@shoryuken:~/android-sdks/tools$ ./emulator -avd phoneA &amp;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-JUQGFUOoasU/Tv-AX6HyoGI/AAAAAAAABTw/RuGhueIMSqg/s1600/emulator2.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 225px;" src="http://3.bp.blogspot.com/-JUQGFUOoasU/Tv-AX6HyoGI/AAAAAAAABTw/RuGhueIMSqg/s400/emulator2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5692409602246877282" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;We're done!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Getting the SDcard can be found here.  &lt;/span&gt;&lt;br /&gt;http://blog.jayway.com/2009/04/22/working-with-sd-cards-in-the-android-emulator/&lt;br /&gt;&lt;br /&gt;The quick version is simply cd into the tools directory under the android sdk:&lt;br /&gt;&lt;br /&gt;$ cd /home/ff/android-sdks/tools&lt;br /&gt;$ ff@shoryuken:~/android-sdks/tools$./mksdcard 128M phoneAsdCard&lt;br /&gt;$ ff@shoryuken:~/android-sdks/tools$ mkdir sdcardA&lt;br /&gt;$ ff@shoryuken:~/android-sdks/tools$ sudo mount -o loop phoneAsdCard sdcardA/&lt;br /&gt;$ ff@shoryuken:~/android-sdks/tools$ ./emulator -avd phoneA -sdcard ./phoneAsdCard&lt;img src="http://feeds.feedburner.com/~r/JamaalSpeights-Devblog/~4/nmkDlnNbU8Q" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jamaaldev.blogspot.com/feeds/6972420530516271400/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jamaaldev.blogspot.com/2011/12/creating-android-emulator-quickly.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8690909935651405396/posts/default/6972420530516271400?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8690909935651405396/posts/default/6972420530516271400?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JamaalSpeights-Devblog/~3/nmkDlnNbU8Q/creating-android-emulator-quickly.html" title="Creating an Android Emulator Quickly" /><author><name>Jamaal Speights</name><uri>https://plus.google.com/112466889715142843916</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-FdX_yAQQovc/AAAAAAAAAAI/AAAAAAAAIlI/VgwRPO_QSsQ/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://jamaaldev.blogspot.com/2011/12/creating-android-emulator-quickly.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk4AR30_cSp7ImA9WhRWE0s.&quot;"><id>tag:blogger.com,1999:blog-8690909935651405396.post-5154964555497699290</id><published>2011-12-31T12:51:00.000-08:00</published><updated>2011-12-31T12:55:46.349-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-31T12:55:46.349-08:00</app:edited><title>Reading Google Books offline in Ubuntu</title><content type="html">If you want to read your google ebooks, install the "Google Ebooks App" for Chrome found here:  &lt;br /&gt;https://chrome.google.com/webstore/detail/mmimngoggfoobjdlefbcabngfnmieonb&lt;br /&gt;&lt;br /&gt;One installed click Launch App which will take you here.  "http://books.google.com/ebooks/app" &lt;br /&gt;&lt;br /&gt;Under each book, select "Make Available offline" and bookmark the page "http://books.google.com/ebooks/app"  &lt;br /&gt;&lt;br /&gt;The plugin will download your ebook and now you don't have to be online in order to read your books anymore while on your computer :)&lt;img src="http://feeds.feedburner.com/~r/JamaalSpeights-Devblog/~4/a_SJ_fOcqu4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jamaaldev.blogspot.com/feeds/5154964555497699290/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jamaaldev.blogspot.com/2011/12/reading-google-books-offline-in-ubuntu.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8690909935651405396/posts/default/5154964555497699290?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8690909935651405396/posts/default/5154964555497699290?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JamaalSpeights-Devblog/~3/a_SJ_fOcqu4/reading-google-books-offline-in-ubuntu.html" title="Reading Google Books offline in Ubuntu" /><author><name>Jamaal Speights</name><uri>https://plus.google.com/112466889715142843916</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-FdX_yAQQovc/AAAAAAAAAAI/AAAAAAAAIlI/VgwRPO_QSsQ/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://jamaaldev.blogspot.com/2011/12/reading-google-books-offline-in-ubuntu.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C04FQXsyfip7ImA9WhRXF0o.&quot;"><id>tag:blogger.com,1999:blog-8690909935651405396.post-287187009535067907</id><published>2011-12-20T20:23:00.000-08:00</published><updated>2011-12-24T16:11:50.596-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-24T16:11:50.596-08:00</app:edited><title>Installing Scripting Layer for Android, Android SDK and Python Quickly on Ubuntu plus sending yourself an SMS</title><content type="html">If you have Attention deficit hyperactivity disorder like me or don't want to read 40 pages for something that should take 5 minutes to install this blog is for you.  If you want to read 40 pages about stuff you really don't care about (apple press) just to install python on Android here's the &lt;a href="http://books.google.com/books/about/Pro_Android_Scripting_with_SL4A_Writing.html?id=uYEmWet7QtsC"&gt;link&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Else lets go, If you're rocken linux get the &lt;a href="http://dl.google.com/android/android-sdk_r16-linux.tgz"&gt;sdk&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;#If need be read my first post &lt;a href="http://jamaaldev.blogspot.com/2011/12/getting-eclipse-and-android-sdk-working.html"&gt;on getting java 32bit or the 64bit version with ia32-lib installed &lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;#Using the barcode scanner install &lt;a href="http://code.google.com/p/android-scripting/"&gt;SL4A&lt;/a&gt;  and &lt;a href="http://code.google.com/p/android-scripting/downloads/detail?name=PythonForAndroid_r4.apk"&gt;Python for Android&lt;/a&gt; Both programs need to be installed.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;#Installing the SDK&lt;/span&gt;&lt;br /&gt;$ tar zxvf android-sdk_r15-linux.tgz&lt;br /&gt;$ android-sdk-linux/tools/android     #execute the installer&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-BFYbksR4_hU/TvGvlzSvv3I/AAAAAAAABPI/16q2RlmOqo0/s1600/blogsdk.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 356px; height: 400px;" src="http://2.bp.blogspot.com/-BFYbksR4_hU/TvGvlzSvv3I/AAAAAAAABPI/16q2RlmOqo0/s400/blogsdk.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5688520868304502642"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;#Select Tools, Android 4.0.3 and Extra, you should have around 14 packages in the bottom right hand corner to install.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;#Once installed on the phone click on Settings -&amp;gt; Developer options&lt;/span&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/-MsdgzfauD9c/TvVBrlQRVpI/AAAAAAAABPs/L4P6_wnbT5E/s1600/Settings.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 225px; height: 400px;" src="http://3.bp.blogspot.com/-MsdgzfauD9c/TvVBrlQRVpI/AAAAAAAABPs/L4P6_wnbT5E/s400/Settings.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5689525921243027090"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;# Under Developer options Select USB debugging and Stay awake&lt;/span&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-gnkMx9LGPqk/TvVCT3DSCdI/AAAAAAAABP4/PzVUn3G4LnA/s1600/usbdebugging.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 225px; height: 400px;" src="http://1.bp.blogspot.com/-gnkMx9LGPqk/TvVCT3DSCdI/AAAAAAAABP4/PzVUn3G4LnA/s400/usbdebugging.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5689526613215152594"&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;#Back in Ubuntu in your home directory "cd" into ~/android-sdks/platform-tools directory and add the following script to a file called adbserver.sh, don't forget to chmod ug+x adbserver.sh&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;#adbserver.sh server script to start python server on android&lt;/span&gt;&lt;br /&gt;./adb shell am start -a com.googlecode.android_scripting.action.LAUNCH_SERVER \&lt;div&gt;-n com.googlecode.android_scripting/.activity.ScriptingLayerServiceLauncher \&lt;/div&gt;&lt;div&gt;--ei com.googlecode.android_scripting.extra.USE_SERVICE_PORT 45001&lt;/div&gt;&lt;div&gt;port=`./adb logcat -d | grep "Bound to" | tail -n 1  | grep '127.0.0.1' | sed -e 's/.*://g'`&lt;/div&gt;&lt;div&gt;./adb forward tcp:9999 tcp:$port&lt;br /&gt;export AP_PORT=9999&lt;br /&gt;echo "server started on port:$port"&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-xYeNwcDrt24/TvZhI12VY6I/AAAAAAAABQ0/1_QNdfzCeeg/s1600/adbserverscript.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 40px;" src="http://1.bp.blogspot.com/-xYeNwcDrt24/TvZhI12VY6I/AAAAAAAABQ0/1_QNdfzCeeg/s400/adbserverscript.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5689841983751021474" /&gt;&lt;/a&gt;&lt;br /&gt;(for some reason the USE_SERVICE_PORT option doesn't work, however the script takes care of this)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;#On the phone from the top window drop down you can see the server running.  It's in dark grey and extremely hard to see.  &lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-2KlFUj8yX1g/TvZhpIRFy6I/AAAAAAAABRA/mLCm8VQ2USw/s1600/pulldown.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 225px; height: 400px;" src="http://2.bp.blogspot.com/-2KlFUj8yX1g/TvZhpIRFy6I/AAAAAAAABRA/mLCm8VQ2USw/s400/pulldown.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5689842538450897826" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;#If you click on the server listing, it will bring you to the following screen showing the server port on 42409&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-spHHwc70dl8/TvZh7uACGqI/AAAAAAAABRM/NQ0F0WLTPrU/s1600/serverrunning.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 225px; height: 400px;" src="http://1.bp.blogspot.com/-spHHwc70dl8/TvZh7uACGqI/AAAAAAAABRM/NQ0F0WLTPrU/s400/serverrunning.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5689842857817545378" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;#We need to move android.py from the phone to python2.6 ubuntu's python2.6 dist-packages directory. Make sure python2.6 is installed.  &lt;span style="font-weight:bold;"&gt;&lt;/span&gt;&lt;/span&gt; &lt;br /&gt;$ ./adb pull /sdcard/com.googlecode.pythonforandroid/extras/python/android.py .&lt;br /&gt;$ sudo cp android.py /usr/local/lib/python2.6/dist-packages/&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;#Add the following to hellosms.py and run it using python2.6 &lt;br /&gt;&lt;/span&gt;import android &lt;br /&gt;droid = android.Android()&lt;br /&gt;droid.smsSend("9999999999", "testing")  #replace 9999999999 with your number&lt;br /&gt;&lt;br /&gt;$ python2.6 hellosms.py &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;#You should get a text from yourself to yourself and you're done! I hope this helps.&lt;br /&gt;&lt;/span&gt;&lt;img src="http://feeds.feedburner.com/~r/JamaalSpeights-Devblog/~4/HBfB731vS54" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jamaaldev.blogspot.com/feeds/287187009535067907/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jamaaldev.blogspot.com/2011/12/installing-scripting-layer-for-android.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8690909935651405396/posts/default/287187009535067907?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8690909935651405396/posts/default/287187009535067907?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JamaalSpeights-Devblog/~3/HBfB731vS54/installing-scripting-layer-for-android.html" title="Installing Scripting Layer for Android, Android SDK and Python Quickly on Ubuntu plus sending yourself an SMS" /><author><name>Jamaal Speights</name><uri>https://plus.google.com/112466889715142843916</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-FdX_yAQQovc/AAAAAAAAAAI/AAAAAAAAIlI/VgwRPO_QSsQ/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-BFYbksR4_hU/TvGvlzSvv3I/AAAAAAAABPI/16q2RlmOqo0/s72-c/blogsdk.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://jamaaldev.blogspot.com/2011/12/installing-scripting-layer-for-android.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUIDQ309eCp7ImA9WhRXEEo.&quot;"><id>tag:blogger.com,1999:blog-8690909935651405396.post-5463310233071047147</id><published>2011-12-15T23:20:00.000-08:00</published><updated>2011-12-16T15:19:32.360-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-16T15:19:32.360-08:00</app:edited><title>Getting Eclipse and ADT working on Ubuntu 64</title><content type="html">&lt;span style="font-weight:bold;"&gt;Getting Eclipse to run on Ubuntu 11.10 64bit with the Android Development Tools (32bit).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This is how I was able to get the Android Development Tools working on my Ubuntu 11.10 64bit machine.  The problem is that when you install eclipse using apt-get, you'll get the 64bit version, however the android sdk needs a 32bit version of java.  We can solve this issue by installing both the 64bit and 32bit versions of Java, this is how I did it.  &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;#install the ia32-libs so you can run 32bit apps and shit &lt;br /&gt;&lt;/span&gt;$ apt-get --reinstall install ia32-libs-multiarch ia32-libs&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;#install eclipse, this will install the 64bit version  &lt;br /&gt;&lt;/span&gt;$ apt-get install eclipse&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;#Get Oracles 32bit and 64 bit version of JDK  &lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.oracle.com/technetwork/java/javase/downloads/jdk-7u2-download-1377129.html"&gt;http://www.oracle.com/technetwork/java/javase/downloads/jdk-7u2-download-1377129.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;#Decompress each tarball and rename the 64 bit folder and move both the /usr/lib/jvm&lt;br /&gt;&lt;/span&gt;$ mv jdk1.7.0_02/ /usr/lib/jvm/    &lt;---mv 32bit version to /usr/lib/jvm &lt;br /&gt;$ mv jdk1.7.0_02/ jdk64_1.7.0_0    &lt;---rename 64bit version  &lt;br /&gt;$ mv  jdk64_1.7.0_0 /usr/lib/jvm   &lt;---mv 64 bit version &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;#Chown dem bitches &lt;br /&gt;&lt;/span&gt;$ chown -R root:root /usr/lib/jvm/jdk1.7.0_02/&lt;br /&gt;$ chown -R root:root /usr/lib/jvm/jdk64_1.7.0_02/&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;#Select the JDK using the following steps from  &lt;a href="http://www.webupd8.org/2011/09/how-to-install-oracle-java-7-jdk-in.html"&gt;http://www.webupd8.org/2011/09/how-to-install-oracle-java-7-jdk-in.html&lt;/a&gt;  &lt;/span&gt;&lt;br /&gt;$ add-apt-repository ppa:nilarimogard/webupd8&lt;br /&gt;$ apt-get update&lt;br /&gt;$ apt-get install update-java&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;#run update-java so Android SDK will us 32bit version &lt;br /&gt;&lt;/span&gt;$ update-java (and select the 32 bit version (jdk1.7.0_02))&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;#update /etc/eclipse.ini to make eclipse run the 64 version of java &lt;br /&gt;#nano /etc/eclipse.ini add the first two lines below &lt;br /&gt;#-vm &lt;br /&gt;#/usr/lib/jvm/jdk64_1.7.0_02/bin&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;$ cat /etc/eclipse.ini &lt;br /&gt;-vm &lt;br /&gt;/usr/lib/jvm/jdk64_1.7.0_02/bin&lt;br /&gt;-startup&lt;br /&gt;plugins/org.eclipse.equinox.launcher_1.2.0.dist.jar&lt;br /&gt;--launcher.library&lt;br /&gt;plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.100.dist&lt;br /&gt;-showsplash&lt;br /&gt;org.eclipse.platform&lt;br /&gt;--launcher.XXMaxPermSize&lt;br /&gt;256m&lt;br /&gt;--launcher.defaultAction&lt;br /&gt;openFile&lt;br /&gt;-vmargs&lt;br /&gt;-Xms40m&lt;br /&gt;-Xmx384m&lt;br /&gt;-Dorg.eclipse.equinox.p2.reconciler.dropins.directory=/usr/share/eclipse/dropins&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;#Run eclipse and install ADT (Android Development Tools) &lt;/span&gt;&lt;a href="http://developer.android.com/sdk/eclipse-adt.html"&gt;http://developer.android.com/sdk/eclipse-adt.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;#If you get the following error after installing ADT &lt;/span&gt;Software being installed: Android Development Tools 11.0.0.v201105251008-128486 (com.android.ide.eclipse.adt.feature.group 11.0.0.v201105251008-128486) Missing requirement: Android Development Tools 11.0.0.v201105251008-128486 (com.android.ide.eclipse.adt.feature.group 11.0.0.v201105251008-128486) requires 'org.eclipse.wst.sse.core 0.0.0' but it could not be found&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Here is the fix&lt;/span&gt; &lt;br /&gt;&lt;a href="http://stackoverflow.com/questions/6482268/eclipse-indigo-cannot-install-android-adt-plugin"&gt;http://stackoverflow.com/questions/6482268/eclipse-indigo-cannot-install-android-adt-plugin&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;#Next read &lt;a href="http://developer.android.com/sdk/adding-components.html"&gt;http://developer.android.com/sdk/adding-components.html&lt;/a&gt; to get the SDK and other comopnents working &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;#b00m&lt;img src="http://feeds.feedburner.com/~r/JamaalSpeights-Devblog/~4/RyZkfE_sSKU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://jamaaldev.blogspot.com/feeds/5463310233071047147/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://jamaaldev.blogspot.com/2011/12/getting-eclipse-and-android-sdk-working.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8690909935651405396/posts/default/5463310233071047147?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8690909935651405396/posts/default/5463310233071047147?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JamaalSpeights-Devblog/~3/RyZkfE_sSKU/getting-eclipse-and-android-sdk-working.html" title="Getting Eclipse and ADT working on Ubuntu 64" /><author><name>Jamaal Speights</name><uri>https://plus.google.com/112466889715142843916</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-FdX_yAQQovc/AAAAAAAAAAI/AAAAAAAAIlI/VgwRPO_QSsQ/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://jamaaldev.blogspot.com/2011/12/getting-eclipse-and-android-sdk-working.html</feedburner:origLink></entry></feed>
