==== Having GPIO functions on Android ==== ** You must install the Android release V1.5 or higher to access the 40pin GPIO properly.** This process explains how to make an Android app which can access IO ports.\\ You need to install Google Android SDK/NDK on your host PC first to start below steps. Insert this line into your ~/.bashrc file. export NDK_PATH=/home/xxx/android-ndk-r10d 1. Download the wiringPi library and example App source code. [[https://github.com/codewalkerster/example-wiringPi]] $ git clone https://github.com/codewalkerster/example-wiringPi -b odroidc 2. Build a JNI library $ cd example-wiringPi $ cd jni $ ndk-build Android NDK: WARNING: APP_PLATFORM android-19 is larger than android:minSdkVersion 16 in /media/codewalker/projects/wiringpi/android/example-wiringPi_c/AndroidManifest.xml [armeabi] Compile thumb : wiringPi <= wiringPi.c /media/codewalker/projects/wiringpi/android/example-wiringPi_c/jni/wiringPi/wiringPi.c:147:0: warning: "PAGE_SIZE" redefined #define PAGE_SIZE (4*1024) ^ In file included from /home/codewalker/projects/android-ndk-r11b/platforms/android-21/arch-arm/usr/include/sys/ucontext.h:33:0, from /home/codewalker/projects/android-ndk-r11b/platforms/android-21/arch-arm/usr/include/signal.h:51, from /home/codewalker/projects/android-ndk-r11b/platforms/android-21/arch-arm/usr/include/poll.h:34, from /media/codewalker/projects/wiringpi/android/example-wiringPi_c/jni/wiringPi/wiringPi.c:59: /home/codewalker/projects/android-ndk-r11b/platforms/android-21/arch-arm/usr/include/sys/user.h:37:0: note: this is the location of the previous definition #define PAGE_SIZE 4096 ^ /media/codewalker/projects/wiringpi/android/example-wiringPi_c/jni/wiringPi/wiringPi.c: In function 'interruptHandler': /media/codewalker/projects/wiringpi/android/example-wiringPi_c/jni/wiringPi/wiringPi.c:2263:7: warning: return makes pointer from integer without a cast return wiringPiFailure (WPI_FATAL, "wiringPiISR: wiringPi has not been initialised. Unable to continue.\n") ; ^ [armeabi] Compile thumb : wiringPi <= wiringShift.c [armeabi] Compile thumb : wiringPi <= piHiPri.c [armeabi] Compile thumb : wiringPi <= piThread.c [armeabi] Compile thumb : wiringPi <= wiringPiSPI.c [armeabi] Compile thumb : wiringPi <= wiringPiI2C.c [armeabi] Compile thumb : wiringPi <= softPwm.c [armeabi] Compile thumb : wiringPi <= softTone.c [armeabi] Compile thumb : wiringPi <= mcp23008.c [armeabi] Compile thumb : wiringPi <= mcp23016.c [armeabi] Compile thumb : wiringPi <= mcp23017.c [armeabi] Compile thumb : wiringPi <= mcp23s08.c [armeabi] Compile thumb : wiringPi <= mcp23s17.c [armeabi] Compile thumb : wiringPi <= sr595.c [armeabi] Compile thumb : wiringPi <= pcf8574.c [armeabi] Compile thumb : wiringPi <= pcf8591.c [armeabi] Compile thumb : wiringPi <= mcp3002.c [armeabi] Compile thumb : wiringPi <= mcp3004.c [armeabi] Compile thumb : wiringPi <= mcp4802.c [armeabi] Compile thumb : wiringPi <= mcp3422.c [armeabi] Compile thumb : wiringPi <= max31855.c [armeabi] Compile thumb : wiringPi <= max5322.c [armeabi] Compile thumb : wiringPi <= sn3218.c [armeabi] SharedLibrary : libwiringPi.so [armeabi] Install : libwiringPi.so => libs/armeabi/libwiringPi.so [armeabi] Compile thumb : wiringPiDev <= ds1302.c [armeabi] Compile thumb : wiringPiDev <= maxdetect.c [armeabi] Compile thumb : wiringPiDev <= piNes.c [armeabi] Compile thumb : wiringPiDev <= gertboard.c [armeabi] Compile thumb : wiringPiDev <= piFace.c [armeabi] Compile thumb : wiringPiDev <= lcd128x64.c [armeabi] Compile thumb : wiringPiDev <= lcd.c [armeabi] Compile thumb : wiringPiDev <= piGlow.c [armeabi] SharedLibrary : libwiringPiDev.so [armeabi] Install : libwiringPiDev.so => libs/armeabi/libwiringPiDev.so [armeabi] Compile thumb : wpi_android <= wpi_android.c [armeabi] SharedLibrary : libwpi_android.so [armeabi] Install : libwpi_android.so => libs/armeabi/libwpi_android.so [~/projects/wiringpi/android/example-wiringPi_c/jni]$ 3. Import project * build it on the Android SDK. == ADC === {{http://dn.odroid.com/homebackup/android_wiringPi_ADC.png?600|}} [[https://www.youtube.com/watch?v=zyfULOkj0Vw]] == PWM === {{http://dn.odroid.com/homebackup/android_wiringPi_PWM.png?600|}} == I2C === {{http://dn.odroid.com/homebackup/android_wiringPi_I2C.png?600|}} == UART === {{http://dn.odroid.com/homebackup/android_wiringPi_UART.png?600|}} == 1 Wire === {{http://dn.odroid.com/homebackup/android_wiringPi_1wire.png?600|}}