Need help?

I'm available for remote short term contracting or consultancy work. Please check out my LinkedIn profile for more details on my experience.

Please feel free to use the form below to contact me.




Using NDK r4 with the Android SDK in Netbeans

This is a subject that's seldom talked about, but can be quite important. The NDK basically allows you to port any native C/C++ code/libraries into your Android project, using JNI (Java Native Interface).

I'm going to go through a quick and simple example of how you can display "Hello World" in your Android application using some native C.

The first thing we're going to do is download the NDK, which you can get by clicking on this link - http://developer.android.com/sdk/ndk/index.html - you can pick whichever one you need based on your OS.

I'm also going to assume that you already have the Android SDK installed and setup - for this example I'm also going to be using Netbeans, but you can easily use this on Eclipse as well.

Alright, so now that we're all ready, we can start a new Android project, and the main activity should look like this:


package org.xil3.nativeapp;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;

/**
 *
 * @author jon
 */
public class NativeApp extends Activity {

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    Log.v("NativeApp", "string from JNI: " + helloStringFromJNI());
  }

  public native String  helloStringFromJNI();

  static {
      System.loadLibrary("hello-jni");
  }
}

Now this is a pretty simple Activity, but the main differences are the uses of the native method and the static which loads the C library. By using the name native, you're telling it that you want to use a method within the C library and declare it for use in your Activity.

The second thing is the System.loadLibrary - this loads your C library.

This bit can be a bit tricky, so I'm going to talk a bit more about the pathing and where it looks for that library after I go through the compilation of the C source. First and foremost, the full name of that library is libhello-jni.so, but you can strip out the "lib" and ".so" - the system will still know what you're talking about, or you can just put in the whole thing - it won't matter.


// org_xil3_nativeapp_NativeApp.h

/* DO NOT EDIT THIS FILE - it is machine generated */
#include 
/* Header for class org_xil3_nativeapp_NativeApp */

#ifndef _Included_org_xil3_nativeapp_NativeApp
#define _Included_org_xil3_nativeapp_NativeApp
#ifdef __cplusplus
extern "C" {
#endif
/*
 * Class:     org_xil3_nativeapp_NativeApp
 * Method:    stringFromJNI
 * Signature: ()Ljava/lang/String;
 */
JNIEXPORT jstring JNICALL Java_org_xil3_nativeapp_NativeApp_helloStringFromJNI
  (JNIEnv *, jobject);

#ifdef __cplusplus
}
#endif
#endif

This bit of code is the C header - this was actually generated using a nice tool called javah. You can do the same by navigating to your java class folder (/project/build/classes/ - in Netbeans), and run the following:

javah -jni org.xil3.nativeapp.NativeApp

This should generate something similar to what I have above. Once that's generated, create a new directory under /project called JNI, and copy the newly generated C header there (the C header would of been generated somewhere under the classes directory.


// hello-jni.c

#include "org_xil3_nativeapp_NativeApp.h"

jstring
Java_org_xil3_nativeapp_NativeApp_helloStringFromJNI( JNIEnv* env,
                                                  jobject thiz )
{
    return (*env)->NewStringUTF(env, "Hello World from JNI!");
}

Now we create the C implementation file, which will also live under the JNI directory.


LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE    := hello-jni
LOCAL_SRC_FILES := hello-jni.c

include $(BUILD_SHARED_LIBRARY)

And the last thing we need to add to the JNI directory is the Android.mk file, which tells it which files to compile. Not going to go into great detail about the .mk file, but you can read up on it by going into your /android_ndk_dir/docs/ANDROID-MK.TXT - that should explain it plenty.

We're all done now with the C coding! On to compiling the stuff…

To compile this we simply run the following (finally we're using the NDK that you downloaded earlier!):

/android_ndk_dir/ndk-build -C /project/location/

If the compilation is successful, it would have created a new directory under your project directory called "libs/armeabi/libhello-jni.so"

Okay, at this point we're pretty much done the main stuff, and normally you'd just be able to compile and it would work, but if you're using Netbeans (nbandroid plugin - kenai), it has some issues when it comes to adding the new C library to the final .apk build - in Eclipse this may work fine at this point, but since this is an article for Netbeans, I'll let you know what we need to do next.

Open up your /project directory, and look for build.xml - it should be there. Open that up, and we'll have to add something to it.


<target name="-post-jar">
  <zip update="true" destfile="${dist.apk}">
    <zipfileset dir="libs/armeabi" includes="*.so" prefix="lib/armeabi"/>
  </zip>
  <zip destfile="tmp.apk">
    <zipfileset src="${dist.apk}">
      <exclude name="META-INF/*.*" />
    </zipfileset>
  </zip>
  <move file="tmp.apk" tofile="${dist.apk}" />
  <signjar jar="${dist.apk}" alias="keystor_lias" storepass="store_password" keypass="key_password" keystore="/location/of/your/key.keystore"/>
</target>

After the import file tag, please add this bit of markup - this basically tells it to check in /libs/armeabi for any .so files and creates a lib/armeabi directory in the .apk and moves the .so files there, then finally re-compresses it all in the .apk.

Also, for signing the jar, if you don't have a keystore set up, you can use the debug one - the details are below:

Keystore name: "debug.keystore"
Keystore password: "android"
Key alias: "androiddebugkey"
Key password: "android"

Not 100% sure where the debug.keystore is located in Windows, but on my Mac and assuming in Linux it's under your home directory - ~/.android/debug.keystore

Hope this helps somebody!


jon | June 02, 2010 | Comments (309)

Comments

http://www.wisata-pulautidung.com
Comment by May I simply just say what a comfort to find an individual who actually understands what they're d - November 20, 2014 @ 2:38 am
http://cdtarifmalin.com/thin-lizzy-fighting-cd-album-remastered/feed/
Comment by Can I simply say what a relief to discover a person that actually knows what they're discussing over - November 18, 2014 @ 9:26 am
http://revidaputri.xserverindonesia.com
Comment by Hi, i read your blog from time to time and i own a similar one and i was just wondering if you get - November 16, 2014 @ 8:08 pm
https://www.youtube.com/watch?v=A50nfSGJsmA
Comment by Very soon this web page will be famous among all blog people, due to it's fastidious articles or r - November 16, 2014 @ 4:01 am
http://thingsforlove.Newsvine.com
Comment by Greetings! This іs myy firѕt viisit tο yοur blog! We are a team of volunteers and starting a ne - November 15, 2014 @ 4:50 pm
http://lolatoys.com/
Comment by Hi, Neat post. There's a problem with your web site in internet explorer, might check this? IE stil - November 08, 2014 @ 5:24 pm
http://zaliemartikel.blogspot.com/
Comment by I have fun with, lead to I discovered exactly what I was having a look for. You have ended my 4 day - November 02, 2014 @ 2:32 pm
https://www.youtube.com/watch?v=MxqIdFB2bOw
Comment by What's Going down i am new to this, I stumbled upon this I have found It absolutely helpful and it h - October 28, 2014 @ 11:04 am
http://handjob-porn-galleries.com/2014/07/
Comment by you are truly a just right webmaster. The site loading speed is amazing. It sort of feels that you - October 27, 2014 @ 1:44 am
http://xslivecams.com
Comment by Hey there! I know this is kind of off topijc but Iwas wondering if you knew whete I could get a ca - October 26, 2014 @ 9:06 pm
http://griyapintarlesprivatsemarang.wordpress.com/
Comment by Very good article. I'm experiencing many of these issues as well.. - October 26, 2014 @ 8:12 pm
http://www.lepetitfumeur.fr/cigarettes-electroniques/
Comment by Edsylver commercialise une cigarette electronique connectee a un smartphone sous iOS ou Android vi - October 25, 2014 @ 7:29 am
http://www.webcamtube.pw/
Comment by At this moment I am going away to do my breakfast, later than having my breakfast coming over again - October 20, 2014 @ 10:19 pm
http://Thetruthaboutcellulitereview.Tumblr.com
Comment by This blog was... how do I say it? Relevant!! Finally I have found something which helped me. Apprec - October 20, 2014 @ 2:36 pm
http://joomlareader.com/visit.php?url=http://blog.iseverance.com/HM/entry/544
Comment by I was recommended this website by my cousin. I'm not sure whether this post is written by him as n - October 17, 2014 @ 11:13 am
http://mobiletycoon.org/index.php?title=Proven_Strategies_For_Boosting_Your_SEO_With_Title_Tags_That_Generate_Traffic
Comment by Do you mind if I quote a few of your posts as long as I provide credit and sources back to your we - October 16, 2014 @ 10:30 pm
http://www.lolatoys.com
Comment by Way cool! Some very valid points! I appreciate you penning this post plus the rest of the website - October 09, 2014 @ 2:19 pm
http://Www.Quillamotors.com/es/noticias/item/49-audi-contara-con-carro-y-camioneta-entrada-portafolio
Comment by They are seen as a source of information provided by Internet users across the world. Test it, chan - October 08, 2014 @ 3:33 pm
http://www.femmestyle.de
Comment by Attractive section of content. I just stumbled upon your website and in accession capital to assert - October 08, 2014 @ 5:27 am
http://www.musclegirlstube.com/
Comment by hello there and thank you for your information – I have definitely picked up anything new from r - October 08, 2014 @ 3:00 am
http://Wwww.Grandoption.info
Comment by I have read so many content on the topic of the blogger lovers however this paragraph is really a ni - October 02, 2014 @ 12:32 pm
http://Www.Libanonchat.org/story.php?title=%ED%95%9C%EC%9D%B8-%EC%97%85%EC%86%8C-the-debate-over-jobs-that-make-serious-money-online
Comment by Nice respond in return of this issue with real arguments and telling everything about that. - September 28, 2014 @ 6:34 pm
http://tede.est.com.br/?a%5B%5D=%3Ca+href%3Dhttp%3A%2F%2Fbiosfear.moincoin.de%2Findex.php%2FCrecimiento_del_pene%3ECOMO+AGRANDAR+EL+PENE%3C%2Fa%3E
Comment by Ezequiel - September 24, 2014 @ 9:41 am
http://www.hongdaglass.com/plus/guestbook.php
Comment by Kiara - September 24, 2014 @ 8:05 am
http://www.buy-facebooklikes.net
Comment by Genesis - September 21, 2014 @ 8:19 pm
http://avatarki.tomsk.ru/index.php?n=show&kat=15
Comment by Arielle - September 17, 2014 @ 1:01 pm
http://microwavemaven.drupalgardens.com/content/whats-best-microwave-oven-year
Comment by Theda - September 14, 2014 @ 2:52 am
http://www.femmestyle.at/schoenheitschirurgie/brustvergroesserung/index.html
Comment by Luann - September 01, 2014 @ 10:15 pm
https://sites.Google.com/site/tiposdevinos/
Comment by Karina - August 31, 2014 @ 12:58 am
http://www.facebook.com/progamehacks/posts/1430379160564861
Comment by Claude - August 30, 2014 @ 7:49 pm
http://gamesgc.com
Comment by Kattie - August 30, 2014 @ 3:53 pm
http://www.facebook.com/pages/Games-hack-tools/1395716620697782
Comment by Georgianna - August 29, 2014 @ 6:07 pm
http://docs.google.com/document/d/16abotlf-MuXGfcHiS2Wx8PhvwAolTk43wlWYciQLL3w/preview
Comment by Randi - August 21, 2014 @ 12:41 pm
http://www.femmestyle.eu/schoenheitschirurgie/brustvergroesserung/index.html
Comment by Nolan - August 20, 2014 @ 9:18 pm
http://ardennen.hanze.nl/index.php?option=com_easygb&Itemid=37
Comment by Esther - August 19, 2014 @ 4:22 am
http://www.beste-schoenheitsklinik.biz
Comment by Ignacio - August 18, 2014 @ 2:44 am
http://www.femmestyle.ch
Comment by Cara - August 17, 2014 @ 9:30 am
http://telechargerminecraft152.fr/
Comment by Crystle - August 10, 2014 @ 1:03 pm
http://telechargerminecraft152.fr/
Comment by Jada - August 10, 2014 @ 12:57 pm
http://themarketingheaven.com/buy-facebook-likes/
Comment by Kirsten - August 10, 2014 @ 10:41 am
http://minecraft-gratuit-telecharger.com/
Comment by Giselle - August 10, 2014 @ 12:22 am
http://Telechargerminecraft152.fr
Comment by Del - August 09, 2014 @ 11:47 pm
http://minecraft-gratuit-telecharger.com/
Comment by Catharine - August 09, 2014 @ 11:37 pm
http://drugsforedgenericonline.com
Comment by Carrie - August 08, 2014 @ 11:02 pm
http://telechargerminecraft152.fr/
Comment by Jewel - August 08, 2014 @ 2:50 pm
http://minecraft-gratuit-telecharger.com/
Comment by Brandie - August 08, 2014 @ 2:48 pm
http://telechargerminecraft152.fr/
Comment by William - August 08, 2014 @ 2:27 pm
http://telechargerminecraft152.fr/
Comment by Florida - August 07, 2014 @ 10:21 pm
http://s6x.it/jr66
Comment by Karol - August 07, 2014 @ 5:38 pm
http://telechargerminecraft152.fr/
Comment by Niamh - August 07, 2014 @ 1:04 pm
http://Telechargerminecraft152.fr/
Comment by Corina - August 07, 2014 @ 1:02 pm
http://telechargerminecraft152.fr/
Comment by Vince - August 07, 2014 @ 12:33 pm
http://telechargerminecraft152.fr/
Comment by Donald - August 07, 2014 @ 12:31 pm
http://span.chutneyweb.com/content/mrawm2013
Comment by Melinda - August 07, 2014 @ 9:31 am
http://telechargerminecraft152.fr/
Comment by Bradly - August 07, 2014 @ 3:16 am
http://minecraft-gratuit-telecharger.com/
Comment by Ismael - August 07, 2014 @ 3:11 am
http://minecraft-gratuit-telecharger.com/
Comment by Georgina - August 06, 2014 @ 11:48 pm
http://minecraft-gratuit-telecharger.com/
Comment by Marcy - August 06, 2014 @ 11:43 pm
http://Telechargerminecraft152.fr/
Comment by Angelica - August 06, 2014 @ 3:30 am
http://s6x.it/jr66
Comment by Susanne - August 05, 2014 @ 6:22 pm
http://telechargerminecraft152.fr/
Comment by Mariana - August 05, 2014 @ 3:59 pm
http://Minecraft-gratuit-telecharger.com/
Comment by Gertrude - August 05, 2014 @ 1:38 pm
http://Telechargerminecraft152.fr/
Comment by Leticia - August 05, 2014 @ 1:30 pm
http://telechargerminecraft152.fr/
Comment by Felicitas - August 05, 2014 @ 12:14 pm
http://www.seguilaflecha.com/published/page/421/category/polA
Comment by Anneliese - August 05, 2014 @ 11:55 am
http://telechargerminecraft152.fr/
Comment by Ana - August 05, 2014 @ 11:47 am
http://telechargerminecraft152.fr/
Comment by Mira - August 05, 2014 @ 11:40 am
http://telechargerminecraft152.fr/
Comment by Katrina - August 04, 2014 @ 5:35 am
http://Telechargerminecraft152.fr/
Comment by Craig - August 03, 2014 @ 6:38 pm
http://telechargerminecraft152.fr/
Comment by Christian - August 03, 2014 @ 6:27 pm
http://telechargerminecraft152.fr/
Comment by Giselle - August 03, 2014 @ 6:22 pm
http://minecraft-gratuit-telecharger.com/
Comment by Gladis - August 03, 2014 @ 4:03 pm
http://lmgtfy.com/?q=google+plus+account
Comment by Wayne - August 03, 2014 @ 2:52 pm
http://Telechargerminecraft152.fr/
Comment by Larue - August 03, 2014 @ 12:21 am
http://minecraft-gratuit-telecharger.com/
Comment by Victorina - August 02, 2014 @ 6:48 am
http://telechargerminecraft152.fr/
Comment by Camille - August 02, 2014 @ 6:14 am
http://telechargerminecraft152.fr/
Comment by Devin - August 02, 2014 @ 3:54 am
http://telechargerminecraft152.fr/
Comment by Georgianna - August 01, 2014 @ 8:40 pm
http://Telechargerminecraft152.fr/
Comment by Freya - August 01, 2014 @ 8:59 am
http://lekochess.com
Comment by Nathaniel - August 01, 2014 @ 8:08 am
http://telechargerminecraft152.fr/
Comment by Lettie - August 01, 2014 @ 8:06 am
http://minecraft-gratuit-telecharger.com/
Comment by Laurene - August 01, 2014 @ 6:53 am
http://minecraft-gratuit-telecharger.com/
Comment by Margarette - July 31, 2014 @ 10:58 pm
http://minecraft-gratuit-telecharger.com/
Comment by Claudette - July 31, 2014 @ 10:48 pm
http://telechargerminecraft152.fr/
Comment by Shad - July 31, 2014 @ 6:49 pm
http://telechargerminecraft152.fr/
Comment by Ginger - July 31, 2014 @ 12:30 pm
http://telechargerminecraft152.fr/
Comment by Charli - July 31, 2014 @ 12:16 pm
http://telechargerminecraft152.fr/
Comment by Josette - July 31, 2014 @ 12:06 pm
http://s6x.it/jr66
Comment by Robin - July 30, 2014 @ 5:22 am
http://Telechargerminecraft152.fr/
Comment by Celsa - July 30, 2014 @ 1:12 am
http://telechargerminecraft152.fr/
Comment by Etta - July 30, 2014 @ 12:29 am
http://minecraft-gratuit-telecharger.com/
Comment by Malinda - July 29, 2014 @ 11:25 pm
http://boombeachhacks.org/
Comment by Enriqueta - July 25, 2014 @ 7:05 pm
http://wiki.rpg.ru/index.php/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D1%83%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA%D0%B0:Vito4470comowsm
Comment by Cynthia - July 24, 2014 @ 4:44 am
http://worldoftanks.activecheat.com/
Comment by Linda - July 22, 2014 @ 7:00 pm
http://telechargerminecraft152.fr/
Comment by Virgie - July 20, 2014 @ 9:17 pm
http://telechargerminecraft152.fr/
Comment by Ofelia - July 20, 2014 @ 6:47 pm
http://telechargerminecraft152.fr/
Comment by Randall - July 20, 2014 @ 6:55 am
http://telechargerminecraft152.fr/
Comment by Bradly - July 20, 2014 @ 6:31 am
http://telechargerminecraft152.fr/
Comment by Charis - July 19, 2014 @ 10:02 pm
http://telechargerminecraft152.fr/
Comment by Marguerite - July 19, 2014 @ 5:31 pm
http://drugsforedgenericonline.com
Comment by Laurel - July 18, 2014 @ 11:41 pm
http://telechargerminecraft152.fr/
Comment by Lucinda - July 18, 2014 @ 11:05 pm
http://telechargerminecraft152.fr/
Comment by Kathie - July 18, 2014 @ 10:55 pm
http://telechargerminecraft152.fr/
Comment by Edmund - July 18, 2014 @ 10:51 pm
http://Minecraft-Gratuit-telecharger.com/
Comment by Rosalie - July 18, 2014 @ 10:14 pm
http://telechargerminecraft152.fr/
Comment by Adele - July 18, 2014 @ 7:15 pm
http://Telechargerminecraft152.fr/
Comment by Rolando - July 18, 2014 @ 3:04 pm
http://telechargerminecraft152.fr/
Comment by Carson - July 18, 2014 @ 3:01 pm
http://telechargerminecraft152.fr/
Comment by Stefan - July 18, 2014 @ 2:58 pm
http://minecraft-gratuit-telecharger.com/
Comment by Uta - July 18, 2014 @ 7:45 am
http://movetiv.livejournal.com
Comment by Booker - July 17, 2014 @ 3:38 pm
http://banklana.livejournal.com
Comment by Benny - July 17, 2014 @ 7:12 am
http://telechargerminecraft152.fr/
Comment by Ian - July 10, 2014 @ 10:21 am
http://telechargerminecraft152.fr/
Comment by Janeen - July 10, 2014 @ 8:41 am
http://minecraft-gratuit-telecharger.com/
Comment by Birgit - July 10, 2014 @ 8:23 am
http://applestoreschaumburg.us/
Comment by Indiana - July 09, 2014 @ 6:01 pm
http://www.pressejournal.info/archives/42308
Comment by Nidia - July 09, 2014 @ 8:37 am
http://10oaksliving.com
Comment by Albertina - July 09, 2014 @ 12:58 am
http://telechargerminecraft152.fr/
Comment by Stepanie - July 08, 2014 @ 7:52 pm
http://viktorpedia.se/mediawiki/index.php?title=Viagra_Generika_http://www.viagraohnerezept-online.com1077049
Comment by Young - July 08, 2014 @ 4:59 pm
http://telechargerminecraft152.fr/
Comment by Sienna - July 08, 2014 @ 4:23 pm
http://telechargerminecraft152.fr/
Comment by Hudson - July 08, 2014 @ 11:38 am
http://www.etractorsforsale.com/
Comment by Marcy - July 08, 2014 @ 4:16 am
http://Telechargerminecraft152.fr/
Comment by Jacob - July 07, 2014 @ 2:16 pm
http://telechargerminecraft152.fr/
Comment by Cherie - July 07, 2014 @ 12:56 pm
http://ch.linkedin.com/in/dirkcraen
Comment by Thorsten - July 06, 2014 @ 8:54 pm
http://telechargerminecraft152.fr/
Comment by Arlene - July 05, 2014 @ 4:02 pm
http://www.learncbearn.com
Comment by Audry - July 05, 2014 @ 3:59 pm
http://www.market-umbrella-usa.com/category/82-market-umbrellas-fiberglass.aspx
Comment by Phillis - July 03, 2014 @ 6:03 am
http://healhandwellness-fastresults.com/blog
Comment by Jessie - July 02, 2014 @ 5:53 am
http://smartesearch.com/some-useful-guidelines-for-recognising-essential-criteria-of-ice-chest-with-wheels/
Comment by Dexter - July 01, 2014 @ 11:45 pm
http://www.mangomessenger.net/blog/view/221379/asics-shoes-can-show-your-personalities
Comment by Brook - June 30, 2014 @ 8:07 pm
http://www.francemarocensemble.org/userinfo.php?uid=30191
Comment by Evelyn - June 30, 2014 @ 5:25 am
http://www.examresult2014.com/
Comment by Yvonne - June 30, 2014 @ 4:22 am
http://www.boat-umbrella-usa.com
Comment by Daniel - June 30, 2014 @ 12:07 am
http://www.buyyacon.net
Comment by Gene - June 29, 2014 @ 8:41 pm
http://www.timloc.co.uk/products/underfloor-through-wall-ventilation/air-brick/
Comment by Nicki - June 28, 2014 @ 11:27 pm
http://Www.watchnewmoviesonlineforfree.net/the-amazing-spider-man/
Comment by Lorenzo - June 27, 2014 @ 11:11 pm
http://www.sexchat-ab18.com/lesben/1.php
Comment by Waldo - June 26, 2014 @ 10:03 am
http://www.click4article.com/article.php?id=172659
Comment by Denisha - June 26, 2014 @ 12:22 am
http://www.evdenevenakliyatozyurt.com/ilcehizmetleridetay/218/1305-Arac-Dizayn-ve-Sultangazi-Evden-Eve-Nakliyat.html
Comment by Estella - June 25, 2014 @ 5:00 am
http://www.kmwhyc.com
Comment by Bernice - June 23, 2014 @ 12:05 pm
http://www.canneilson.com
Comment by Alannah - June 22, 2014 @ 7:18 pm
http://www.cleanersj.com/xe/?document_srl=306325&mid=board
Comment by Linda - June 22, 2014 @ 8:54 am
http://pinzzer.com/
Comment by Sherlene - June 21, 2014 @ 7:48 pm
http://edhealthnyc.com/
Comment by Bea - June 21, 2014 @ 10:40 am
http://makeover-sydney.com/
Comment by Flora - June 20, 2014 @ 12:56 am
http://www.jumnotebook.com
Comment by Maxxis - June 17, 2014 @ 7:41 am
http://www.fiveninecomputerc.om
Comment by Charlie - June 17, 2014 @ 7:40 am
http://www.qsylkj.com/plus/guestbook.php
Comment by Etta - June 16, 2014 @ 10:59 pm
http://www.youtube.com/watch?v=D8mD5OYrC44
Comment by Cherie - June 16, 2014 @ 8:09 am
http://www.thaicarused.com/
Comment by Blondell - June 15, 2014 @ 8:06 am
http://www.nosmidia.com.br/ebook/ajude-um-reporter/
Comment by Grace - June 13, 2014 @ 9:03 pm
http://www.subteller.com
Comment by Rob - June 13, 2014 @ 5:03 am
https://th-th.facebook.com/korattalk
Comment by Chassidy - June 12, 2014 @ 6:47 pm
http://whoisx.co.uk/rugby59watch.livejournal.com
Comment by Vern - June 12, 2014 @ 11:38 am
http://www.femmestyle.us
Comment by Zenaida - June 12, 2014 @ 2:27 am
http://interfacephysics.com/story.php?title=20%E4%B8%96%E7%B4%80%E3%82%A2%E3%82%A4%E3%83%89%E3%83%AB%E5%86%99%E7%9C%9F%E9%A4%A8-%E5%90%89%E7%94%B0%E8%A3%95%E7%BE%8E%E5%AD%90%EF%BC%91-2
Comment by Ruthie - June 11, 2014 @ 1:55 am
http://dnsw.info/cnczone.com
Comment by Ebony - June 10, 2014 @ 9:36 pm
http://www.generic-4all.net
Comment by Madie - June 10, 2014 @ 12:03 pm
http://www.freecomputerdesktopbackgrounds.com/
Comment by Rudolph - June 10, 2014 @ 9:55 am
https://www.youtube.com/watch?v=08tM7KG6bxs
Comment by Jc - June 09, 2014 @ 12:09 am
http://Youtu.be/pYzh3m5G724
Comment by Jung - June 08, 2014 @ 10:39 pm
http://meritshealth.com/01_about/util/phpinfo.php/?a%5B%5D=weight+loss+book+%28%3Ca+href%3Dhttp%3A%2F%2Fv.gd%2Fweight_loss_book_89135%3Eyou+can+try+here%3C%2Fa%3E%29
Comment by Bonnie - June 08, 2014 @ 1:18 pm
http://system29.pl/
Comment by Thalia - June 07, 2014 @ 12:25 pm
http://www.ocip.com/
Comment by Grant - June 07, 2014 @ 10:58 am
http://sxkxkj.com/plus/guestbook.php
Comment by Tyrell - June 07, 2014 @ 8:18 am
http://www.iqgmy.com/dgvbb/11.html
Comment by Dixie - June 06, 2014 @ 11:52 pm
http://www.sbobetmania.net/tag/statistik-fernando-torres/
Comment by Phillip - June 06, 2014 @ 7:07 am
http://www.reversephonelookups.us/514/904
Comment by Bertie - June 05, 2014 @ 8:17 am
http://www.theipadnews.us/tag/h264-video/
Comment by Katrin - June 05, 2014 @ 1:29 am
http://www.fiverr.com/typingservice
Comment by Freddie - June 05, 2014 @ 12:00 am
http://www.sansaisiri.com/
Comment by Melissa - June 03, 2014 @ 11:32 am
http://www.cityofjacksonville.net/redirect.aspx?url=http://sexe-pas-cher.net
Comment by Reginald - June 02, 2014 @ 10:29 pm
http://www.subteller.com
Comment by Ingrid - June 02, 2014 @ 8:53 am
https://www.facebook.com/pages/Balboa-Ambulance/106863882690828
Comment by Jarred - June 02, 2014 @ 5:28 am
http://remotecontrolextenders.com
Comment by Remona - June 01, 2014 @ 4:42 pm
http://steam-world.net/
Comment by Lenore - June 01, 2014 @ 9:08 am
http://usapharmacy24h.com/
Comment by Loretta - June 01, 2014 @ 12:03 am
http://usapharmacy24h.com/
Comment by Darrel - May 31, 2014 @ 1:52 pm
http://usapharmacy24h.com/
Comment by Darwin - May 31, 2014 @ 12:41 pm
http://toko-parfum-indonesia.com/blog/
Comment by Justine - May 31, 2014 @ 8:01 am
http://aboutinternetbiz.blogspot.com/2014/05/10-tips-for-choosing-right-asbestos.html
Comment by Margareta - May 30, 2014 @ 5:11 am
https://accidentinjuryattorneys01.wordpress.com/2014/05/27/how-to-increase-fertility-learn-more-about-fertility/
Comment by Hildegarde - May 30, 2014 @ 1:25 am
http://omegahacks.eu/
Comment by Rochelle - May 29, 2014 @ 7:16 am
http://escortbayan.barcodesplit.com/
Comment by Marcela - May 29, 2014 @ 1:36 am
http://www.freegaychat.pw/
Comment by Jodi - May 28, 2014 @ 10:15 pm
http://deseoma.onebiz.com
Comment by Flor - May 28, 2014 @ 4:41 am
http://www.remka.net/test/phpinfo.php?a%5B%5D=%3Ca+href%3Dhttp%3A%2F%2Fhund.blogmonster.de
Comment by Brian - May 27, 2014 @ 6:34 am
http://gocatseye.com/?document_srl=507685
Comment by Jonathan - May 26, 2014 @ 5:30 pm
http://intensedebate.com/people/hpllucileitipaj
Comment by Palma - May 25, 2014 @ 4:04 pm
http://magnapresspest.hu/miert-hagyta-el-gagarint-az-ereje-urrepules-utan/
Comment by Delilah - May 24, 2014 @ 10:15 pm
http://eatingdisordersdiagnosis.weebly.com
Comment by Rebekah - May 21, 2014 @ 3:46 am
http://www.sexe-video-live.fr
Comment by Alfredo - May 20, 2014 @ 11:52 pm
http://www.blogsexcam.fr
Comment by Kathleen - May 20, 2014 @ 6:18 pm
http://www.sexxy-cam.fr
Comment by Brandi - May 18, 2014 @ 11:34 am
https://archive.org/details/TheCruiseControlDiet
Comment by Ebony - May 18, 2014 @ 6:43 am
http://daydaterolex.blogger.ba
Comment by Chanel - May 17, 2014 @ 10:16 pm
http://www.webcam-live-sexe.fr
Comment by Laurel - May 17, 2014 @ 8:38 pm
https://www.facebook.com/innovationseo
Comment by Garnet - May 17, 2014 @ 2:48 pm
http://Www.Collegeluggage.com/
Comment by Tommy - May 17, 2014 @ 9:25 am
http://kick-butt.co.uk/baby/?ZLwK6gO7
Comment by Andy - May 17, 2014 @ 9:02 am
http://www.at-udon.com
Comment by Lester - May 15, 2014 @ 9:56 pm
http://urbo.ro/forums/ciazil-celexa-in-internet-wire-transfer-cheapest-celexa-cod-accepted-rx-fedex
Comment by Kellie - May 15, 2014 @ 8:40 pm
http://zumibloggertricks.blogspot.com/
Comment by Eloy - May 15, 2014 @ 8:16 pm
http://www.mariopireddu.net/public/wiki/index.php?title=Utente:SabrinaKaawirn&%boundary%%0D%0AContent-Disposition:+form-data;+name=%22wpSection%22%0D%0A%0D%0A%0D%0A%boundary%%0D%0AContent-Disposition:+form-data;+name=%22wpStarttime%22%0D%0A%0D%0A20140506174225%0D%0A%boundary%%0D%0AContent-Disposition:+form-data;+name=%22wpEdittime%22%0D%0A%0D%0A20140506174146%0D%0A%boundary%%0D%0AContent-Disposition:+form-data;+name=%22wpScrolltop%22%0D%0A%0D%0A%0D%0A%boundary%%0D%0AContent-Disposition:+form-data;+name=%22wpAutoSummary%22%0D%0A%0D%0Ad41d8cd98f00b204e9800998ecf8427e%0D%0A%boundary%%0D%0AContent-Disposition:+form-data;+name=%22oldid%22%0D%0A%0D%0A0%0D%0A%boundary%%0D%0AContent-Disposition:+form-data;+name=%22wpTextbox1%22%0D%0A%0D%0AHello%21+%3Cbr%3EI'm+Portuguese+female+;=).+%3Cbr%3EI+really+love+Art+collecting%21%3Cbr%3E%3Cbr%3EFeel+free+to+visit+my+web+blog+::+[http://crazycabbie.net/profile/mogut.html+http://www.pantipmarket.com/items/14431583]%0D%0A%boundary%%0D%0AContent-Disposition:+form-data;+name=%22wpSummary%22%0D%0A%0D%0A%0D%0A%boundary%%0D%0AContent-Disposition:+form-data;+name=%22wpMinoredit%22%0D%0A%0D%0A1%0D%0A%boundary%%0D%0AContent-Disposition:+form-data;+name=%22wpSave%22%0D%0A%0D%0ASalva+la+pagina%0D%0A%boundary%%0D%0AContent-Disposition:+form-data;+name=%22wpEditToken%22%0D%0A%0D%0Afd65df914742ab8cdc09c28ee9eb95b7+%5C%0D%0A%boundary%--%0D%0A
Comment by Leonel - May 15, 2014 @ 6:33 pm
http://www.dnschan.com
Comment by Kristina - May 15, 2014 @ 6:29 pm
http://www.campingdionissotis.gr/
Comment by Julius - May 15, 2014 @ 3:41 pm
https://archive.org/details/Dog-Food-Secrets
Comment by Timothy - May 15, 2014 @ 10:24 am
https://archive.org/details/MyTruthAboutCelluliteReview
Comment by Ludie - May 15, 2014 @ 8:53 am
http://pharmaeurope.net/?legit+steroids+supplier
Comment by Kimberley - May 15, 2014 @ 3:33 am
http://www.mibbitchat.com/
Comment by Jesenia - May 14, 2014 @ 9:49 pm
http://www.reverseyourdiabetestodayreview.info
Comment by Patty - May 14, 2014 @ 3:04 pm
http://www.mysexcam.fr
Comment by Dedra - May 14, 2014 @ 8:30 am
http://www.goblinclub.com/profile/350384/bolajiola19002.html
Comment by Alberta - May 13, 2014 @ 3:32 pm
http://meshthepla.net/wiki/User:MohamedTKQB
Comment by Mozelle - May 13, 2014 @ 1:41 pm
http://serwer1425885.home.pl/elgg/pg/forum/topic/164432/utter-it-wholly-with-comic-tint-iphone-app/
Comment by Sherryl - May 13, 2014 @ 12:48 pm
http://www.traffictoplist.com/index.php?a=stats&u=lgvreganbhhqotn
Comment by Jeramy - May 13, 2014 @ 12:46 pm
https://th-th.facebook.com/seomaomao
Comment by Genevieve - May 04, 2014 @ 11:01 am
http://www.britsystems.net
Comment by Joellen - May 03, 2014 @ 8:02 am
http://www.wondcam.com
Comment by Gino - May 02, 2014 @ 11:32 pm
http://cleansemasterz.com/sitemap/
Comment by Melodee - May 02, 2014 @ 7:57 am
http://j12repwatches.tumblr.com
Comment by Santo - May 01, 2014 @ 6:48 pm
https://play.google.com/store/apps/details?id=com.zeroapps.gamepuzzle
Comment by Elizabet - April 30, 2014 @ 8:15 pm
http://softeclipse.com/avast/
Comment by Bobby - April 23, 2014 @ 12:51 pm
http://www.asociaciontop.com/foro/index.php?a=member&m=98898
Comment by Kerstin - April 09, 2014 @ 5:39 pm
http://mobilesexapps.blogspot.com/
Comment by Nikole - April 07, 2014 @ 1:22 pm
http://demo.redstarfishwebdesign.com/primera/get-digital-cigarettes
Comment by Carlton - March 27, 2014 @ 6:31 pm
http://totoagc.com/?document_srl=101190
Comment by Dacia - March 22, 2014 @ 1:08 pm
http://jun0010.dothome.co.kr/xe/Freeboard/1227374
Comment by Latonya - March 22, 2014 @ 2:12 am
http://zastavarus.ru/?p=279
Comment by Wilhelmina - March 20, 2014 @ 9:29 pm
http://esnume.kr/spy_cal/343380
Comment by Jestine - March 20, 2014 @ 5:22 pm
http://weblogs.mapie.es/nesfe/2008/04/10/%c2%a1felicidades-chiquis-2/
Comment by Kaley - March 20, 2014 @ 3:35 pm
http://chotnho.biz/profile/vanessawys
Comment by Amado - March 20, 2014 @ 9:41 am
http://www.jcsm.org/top500/index.php?a=stats&u=delphiateichelm
Comment by Essie - March 18, 2014 @ 4:40 pm
http://www.postallblog.com/index.php?do=/blog/138268/que-el-consumo-de-fruta-planta-no-sea-obsesivo-para-ti/
Comment by Kory - March 17, 2014 @ 8:17 am
http://creativedesignerswriters.com/members/rubenk74/activity/135804/
Comment by Lucia - March 17, 2014 @ 8:08 am
http://www.chathacker.altervista.org/modules.php?name=Your_Account&op=userinfo&username=YREF
Comment by Aleida - March 16, 2014 @ 8:24 pm
http://beghab.cafe24.com/?document_srl=18462
Comment by Venetta - March 16, 2014 @ 12:33 pm
http://Hongdaehomestay.com/xe/?document_srl=93477
Comment by Garland - March 15, 2014 @ 5:34 pm
http://creativedesignerswriters.com/members/rubenk74/activity/135804/
Comment by Emmett - March 14, 2014 @ 7:04 am
http://cesla.uw.edu.pl/www/index.php/lang-pl/component/lyftenbloggie/?view=entry&id=54%3Adrugie-ycie
Comment by Bobbie - March 14, 2014 @ 7:00 am
http://www.mgm.org.br/portal/modules.php?name=Your_Account&op=userinfo&username=AngeliaLa
Comment by Tanya - March 13, 2014 @ 1:02 pm
http://www.Supportmichiganworkforce.com/websites/index.php?a=stats&u=kevinllewellyn
Comment by Hollis - March 09, 2014 @ 4:37 pm
http://creativedesignerswriters.com/members/rubenk74/activity/135804/
Comment by Mason - March 09, 2014 @ 3:51 pm
http://livingwaychristianfriendshipgroup.com/groups/que-el-consumo-de-fruta-planta-no-sea-obsesivo-para-ti/
Comment by Luca - March 09, 2014 @ 3:47 am
http://dl4.pl/13u9
Comment by Tommie - March 08, 2014 @ 5:51 pm
http://casino-top100.info/index.php?a=stats&u=luigig85qgtdpc
Comment by Melva - March 07, 2014 @ 10:52 pm
http://www.topnzbsite.com/index.php?a=stats&u=nidamaneyyq
Comment by Swen - March 07, 2014 @ 8:28 pm
http://dvdcoverlinks.com/user_detail.php?u=paigecope
Comment by Stephany - March 07, 2014 @ 5:18 pm
http://www.seriouseats.com/user/profile/Snell185
Comment by Ophelia - March 07, 2014 @ 3:46 pm
http://csntopsites.org/index.php?a=stats&u=alyciamirg
Comment by Ahmad - March 07, 2014 @ 3:18 pm
http://livingwaychristianfriendshipgroup.com/groups/que-el-consumo-de-fruta-planta-no-sea-obsesivo-para-ti/
Comment by Mohammed - March 07, 2014 @ 12:03 pm
http://Www.Toparcadelist.com/index.php?a=stats&u=priscillalovely
Comment by Hope - March 07, 2014 @ 7:56 am
http://www.brainyquote.com/quotes/authors/c/charlie_ergen.html
Comment by Georgianna - March 06, 2014 @ 2:39 pm
http://www.excellentguide.info/members/zackreitm/activity/160002/
Comment by Lourdes - March 03, 2014 @ 2:18 pm
http://daeil-coating.com/xe/?act=trackback&key=1af&mid=qna_daeil&category=0&page=1&sort_index=regdate&order_type=desc&document_srl=328429
Comment by Finn - February 27, 2014 @ 9:56 am
http://amandamarshxjsafd.edublogs.org/2013/12/02/que-el-consumo-de-fruta-planta-no-sea-obsesivo-para-ti/
Comment by Henrietta - February 26, 2014 @ 1:41 am
http://www.facebook.com/obaid.tarek
Comment by Daniel - February 24, 2014 @ 11:30 am
https://www.facebook.com/EuropeanHairDesignWinnipeg
Comment by Donnie - February 21, 2014 @ 6:29 pm
https://www.facebook.com/ElectronicCigaretteFans
Comment by Stormy - February 21, 2014 @ 10:48 am
http://www.servicejobtraining.com/user_detail.php?u=danielegr
Comment by Margart - February 21, 2014 @ 4:58 am
http://www.jcsm.org/top500/index.php?a=stats&u=delphiateichelm
Comment by Alisha - February 17, 2014 @ 6:53 pm
http://www.lovelytips.com/
Comment by Carmella - February 17, 2014 @ 11:51 am
http://www.rcsites.com/topsites/index.php?a=stats&u=geniaaffleck
Comment by Lakeisha - February 13, 2014 @ 5:11 pm
http://www.objectifsept.ch/damien-piller-sept-sera-surprenant-et-novateur/
Comment by Tami - February 13, 2014 @ 2:48 am
http://www.les-notaires.ch/1703/5/2099322/fribourg/cabinet_d_avocat_damien_piller/detail.htm
Comment by Nannette - February 12, 2014 @ 4:33 pm
http://www.incanbotreview.com
Comment by Albertina - February 12, 2014 @ 11:45 am
http://blog.andreapress.net/uncategorized/dog-names-from-easter-period/language/en/
Comment by Georgiana - February 11, 2014 @ 10:03 am
http://cravt.by/en/content/history-shoegaze-0
Comment by Francesca - February 10, 2014 @ 10:10 pm
http://www.cnbc.com/id/101192037
Comment by Bessie - February 10, 2014 @ 1:31 pm
http://myconfashion.com/profile/francce
Comment by Francesco - February 10, 2014 @ 12:23 pm
http://americanshortfiction.org/cls/index.html
Comment by Minna - February 08, 2014 @ 11:06 pm
http://www.sauditopbusiness.com/european-university-accredited-business-school-is-in-the-top-5-in-switzerland/
Comment by Penelope - February 06, 2014 @ 4:01 pm
http://americanshortfiction.org/cls/index.html
Comment by Violette - February 06, 2014 @ 6:57 am
http://www.americatube.com/users/Ben0257
Comment by Kerrie - February 05, 2014 @ 5:06 pm
http://www.gh601.com/xe/?document_srl=36421
Comment by Megan - February 02, 2014 @ 11:59 pm
http://hqmhj.com
Comment by Tegan - February 02, 2014 @ 5:25 pm
http://www.waterheaterrepairer.com/water-heater-repair-service/
Comment by Spencer - February 02, 2014 @ 6:34 am
http://americanshortfiction.org/cls/index.html
Comment by Gita - January 29, 2014 @ 4:22 pm
http://www.bing.com/
Comment by Cassie - January 29, 2014 @ 5:40 am
http://commerciallightingideas.com/commercial-lighting-ideas-for-home-and-office/commercial-lighting-ideas/commercial-exterior-light-fixtures/
Comment by Adrian - January 28, 2014 @ 9:26 am
http://ufc169news.com/
Comment by Francine - January 27, 2014 @ 9:19 am
http://www.kagroga.com/xe/?document_srl=108474
Comment by Shaunte - January 27, 2014 @ 5:56 am
http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CC4QFjAA&url=http%3A%2F%2Fwww.ibosocial.com%2Flistbuildingmentor%2Fpressrelease.aspx%3Fprid%3D331473&ei=PGLQUvCJCcbuyAH4kYDgAg&usg=AFQjCNFKyQFfZ_nqFWbgS7ym-_HRYiQ6kg&sig2=6nA2mFyPfqIcUarxkeeLpw
Comment by Dyan - January 26, 2014 @ 11:42 am
http://taoofbadasspdfreview.com
Comment by Ina - January 25, 2014 @ 6:47 am
http://www.youtube.com/watch?v=WuWRk_O-3bU
Comment by Garnet - January 18, 2014 @ 8:49 pm
http://www.flixya.com/user/rondavanmeter
Comment by Lillie - January 14, 2014 @ 11:43 am
http://gamingonthemac.jigsy.com/
Comment by Edith - January 12, 2014 @ 2:52 am
http://commerciallightingideas.com/
Comment by Harriett - January 11, 2014 @ 6:42 pm
http://www.gibsonnetwork.com/
Comment by Marcella - January 11, 2014 @ 3:12 pm
http://www.gibsonnetwork.com/
Comment by Lakeisha - January 11, 2014 @ 12:20 pm
http://www.gibsonnetwork.com/
Comment by Darin - January 10, 2014 @ 1:24 am
http://www.onlinedatingtop.com/index.php?a=stats&u=leonida0210
Comment by Luciana - January 09, 2014 @ 8:54 am
http://thealkalinedietplan.net
Comment by Gracie - January 09, 2014 @ 7:43 am
http://telly.com/Rubenclary
Comment by Gavin - January 06, 2014 @ 4:29 pm
https://addons.mozilla.org/en-US/firefox/user/orthodontistwinnipers/
Comment by Flora - January 04, 2014 @ 1:46 am
http://nbgnetworks.com/blog
Comment by Landon - January 02, 2014 @ 6:32 am
http://okobok.co.kr/?document_srl=1400673
Comment by Valencia - December 28, 2013 @ 7:43 pm
http://dnaschool.kr/?document_srl=143380
Comment by Alycia - December 27, 2013 @ 10:58 pm
http://sarangjk.com/free_talk/231505
Comment by Darnell - December 26, 2013 @ 10:32 pm
http://www.jinyspace.com/?document_srl=169200
Comment by Kirsten - December 23, 2013 @ 6:52 am
http://luovafactory.com/xe/?document_srl=163902
Comment by Aida - December 20, 2013 @ 6:31 pm
http://cvparfait.com/node/245648
Comment by Shirley - December 18, 2013 @ 4:44 pm
http://sharpmuintel.kr/S06_31/60307
Comment by Myrtis - December 15, 2013 @ 10:29 am
http://jademotel.com/qna/131130
Comment by Horacio - December 03, 2013 @ 6:17 pm
http://www.garagemodeler.com/540367
Comment by Ronald - November 29, 2013 @ 5:49 am
That’s really shwred! Good to see the logic set out so well.
Comment by Dora - May 07, 2011 @ 6:13 am

Name (required)
Email (will not be published) (required)
Website

captcha