글이 길어서 짤리네 추가

    return retVal;
}

void mango210_led_exit(void)
{
    printk("[DEV] mango210_led_exit() is called.n");


 unregister_chrdev(MANGO210_LED_MAJOR_NUMBER, MANGO210_LED_DEVICE_NAME);
led_1_off();
}

module_init(mango210_led_init);
module_exit(mango210_led_exit);


/* 안드로이드 어플리케이션 */

package com.crz.mangoLED;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import android.util.Log;
import android.view.View.Listener;
import android.widget.TextView;

public class Mango210LedApp extends Activity {

static{
System.loadLibrary("mango210LedApp");
} // JNI library load
         public native int Mango210LedOpen();
 public native int Mango210LedClose();
 public native int Mango210LedControl(int ledNum, int ledOnOff);
 public native int unimplementedMango210LedOpen();
 public native int unimplementedMango210LedClose();
 public native int unimplementedMango210LedControl(int ledNum, int ledOnOff);
public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState); 
       setContentView(R.layout.main);
       
       final Button on = (Button)findViewById(R.id.button1); 
       final Button off = (Button)findViewById(R.id.button2);
   
          
       
       on.setListener(new Button.Listener(){
        public void (View v){
        
               showTempMsg("LED on ^_^");
           
           Mango210LedOpen();
              Mango210LedControl(1,1);
                     Mango210LedClose();
                
           }
       });
       
       off.setListener(new Button.Listener(){
              public void (View v){
               showTempMsg("LED off T_T");
               
               Mango210LedOpen();
               Mango210LedControl(1,0);
  
                  Mango210LedClose();
              } 
       });
       
   }
   private void showTempMsg(String strData) {
   Toast tmpToast = Toast.makeText(this, strData, Toast.LENGTH_SHORT);
   tmpToast.show();
   }
}      


/* JNI 소스 */

#include <jni.h>
#include <stdio.h>
#include <stdlib.h>
#include <termios.h>
#include <sys/mman.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/ioctl.h>
#include <fcntl.h>
#include <unistd.h>
#include <string.h>
       static int g_mango210_led_dev;

#define MANGO210_LED_DEVICE_NAME "/dev/mango210_led_device"
/*
jstring
Java_com_crz_mangoLED_Mango210LedApp_stringFromJNI( JNIEnv* env,
                                                  jobject thiz )
{
    return (*env)->NewStringUTF(env, "Hello from JNI !");
}*/
 
jint Java_com_crz_mangoLED_Mango210LedApp_Mango210LedOpen(JNIEnv *env, jobject thiz)
{

   g_mango210_led_dev = open(MANGO210_LED_DEVICE_NAME, O_RDWR|O_NDELAY);
   if(g_mango210_led_dev < 0){
       return -1;
    }
    return 0;
}