Skip to content

Commit

Permalink
initial commit for ndk functionality
Browse files Browse the repository at this point in the history
  • Loading branch information
delizondo committed Nov 28, 2013
1 parent 482c39d commit ba6000b
Show file tree
Hide file tree
Showing 18 changed files with 202 additions and 41 deletions.
9 changes: 9 additions & 0 deletions jni/Android.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := fibonacci

LOCAL_SRC_FILES := com_android_ndksample_MainActivity.c

include $(BUILD_SHARED_LIBRARY)
15 changes: 15 additions & 0 deletions jni/com_android_ndksample_MainActivity.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
/*
* com_android_ndksample_MainActivity.c
*
* Created on: Nov 27, 2013
* Author: davidelizondo
*/

#include "com_android_ndksample_MainActivity.h"
#include "fibonacci.c"

jlong JNICALL
Java_com_android_ndksample_MainActivity_nativeFibonacci(JNIEnv *env,
jclass clazz, jint n) {
return recursive(n);
}
21 changes: 21 additions & 0 deletions jni/com_android_ndksample_MainActivity.h

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

21 changes: 0 additions & 21 deletions jni/com_android_ndksample_NativeFibonacci.h

This file was deleted.

16 changes: 16 additions & 0 deletions jni/fibonacci.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
/*
* fibonacci.c
*
* Created on: Nov 27, 2013
* Author: davidelizondo
*/
#include "fibonacci.h"

uint64_t recursive(int n) {
if (n > 1) {
return recursive(n - 2) + recursive(n - 1);
}
return n;

}

15 changes: 15 additions & 0 deletions jni/fibonacci.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
/*
* fibonacci.h
*
* Created on: Nov 27, 2013
* Author: davidelizondo
*/

#include <stdint.h>

#ifndef FIBONACCI_H_
#define FIBONACCI_H_

extern uint64_t recursive(int n);

#endif /* FIBONACCI_H_ */
Binary file added libs/armeabi/libfibonacci.so
Binary file not shown.
Binary file added obj/local/armeabi-v7a/libfibonacci.so
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
/Users/davidelizondo/Proyectos/NDKSample/obj/local/armeabi-v7a/objs/fibonacci/com_android_ndksample_MainActivity.o: \
/Users/davidelizondo/Proyectos/NDKSample/jni/com_android_ndksample_MainActivity.c \
/Users/davidelizondo/Proyectos/NDKSample/jni/com_android_ndksample_MainActivity.h \
/Users/davidelizondo/android-ndk-r9b/platforms/android-19/arch-arm/usr/include/jni.h \
/Users/davidelizondo/android-ndk-r9b/platforms/android-19/arch-arm/usr/include/sys/cdefs.h \
/Users/davidelizondo/android-ndk-r9b/platforms/android-19/arch-arm/usr/include/sys/cdefs_elf.h \
/Users/davidelizondo/android-ndk-r9b/platforms/android-19/arch-arm/usr/include/android/api-level.h \
/Users/davidelizondo/Proyectos/NDKSample/jni/fibonacci.h \
/Users/davidelizondo/android-ndk-r9b/platforms/android-19/arch-arm/usr/include/stdint.h \
/Users/davidelizondo/android-ndk-r9b/platforms/android-19/arch-arm/usr/include/sys/_types.h \
/Users/davidelizondo/android-ndk-r9b/platforms/android-19/arch-arm/usr/include/machine/_types.h \
/Users/davidelizondo/android-ndk-r9b/platforms/android-19/arch-arm/usr/include/sys/_wchar_limits.h

/Users/davidelizondo/Proyectos/NDKSample/jni/com_android_ndksample_MainActivity.h:

/Users/davidelizondo/android-ndk-r9b/platforms/android-19/arch-arm/usr/include/jni.h:

/Users/davidelizondo/android-ndk-r9b/platforms/android-19/arch-arm/usr/include/sys/cdefs.h:

/Users/davidelizondo/android-ndk-r9b/platforms/android-19/arch-arm/usr/include/sys/cdefs_elf.h:

/Users/davidelizondo/android-ndk-r9b/platforms/android-19/arch-arm/usr/include/android/api-level.h:

/Users/davidelizondo/Proyectos/NDKSample/jni/fibonacci.h:

/Users/davidelizondo/android-ndk-r9b/platforms/android-19/arch-arm/usr/include/stdint.h:

/Users/davidelizondo/android-ndk-r9b/platforms/android-19/arch-arm/usr/include/sys/_types.h:

/Users/davidelizondo/android-ndk-r9b/platforms/android-19/arch-arm/usr/include/machine/_types.h:

/Users/davidelizondo/android-ndk-r9b/platforms/android-19/arch-arm/usr/include/sys/_wchar_limits.h:
Binary file added obj/local/armeabi/libfibonacci.so
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
/Users/davidelizondo/Proyectos/NDKSample/obj/local/armeabi/objs/fibonacci/com_android_ndksample_MainActivity.o: \
/Users/davidelizondo/Proyectos/NDKSample/jni/com_android_ndksample_MainActivity.c \
/Users/davidelizondo/Proyectos/NDKSample/jni/com_android_ndksample_MainActivity.h \
/Users/davidelizondo/android-ndk-r9b/platforms/android-19/arch-arm/usr/include/jni.h \
/Users/davidelizondo/android-ndk-r9b/platforms/android-19/arch-arm/usr/include/sys/cdefs.h \
/Users/davidelizondo/android-ndk-r9b/platforms/android-19/arch-arm/usr/include/sys/cdefs_elf.h \
/Users/davidelizondo/android-ndk-r9b/platforms/android-19/arch-arm/usr/include/android/api-level.h \
/Users/davidelizondo/Proyectos/NDKSample/jni/fibonacci.c \
/Users/davidelizondo/Proyectos/NDKSample/jni/fibonacci.h \
/Users/davidelizondo/android-ndk-r9b/platforms/android-19/arch-arm/usr/include/stdint.h \
/Users/davidelizondo/android-ndk-r9b/platforms/android-19/arch-arm/usr/include/sys/_types.h \
/Users/davidelizondo/android-ndk-r9b/platforms/android-19/arch-arm/usr/include/machine/_types.h \
/Users/davidelizondo/android-ndk-r9b/platforms/android-19/arch-arm/usr/include/sys/_wchar_limits.h

/Users/davidelizondo/Proyectos/NDKSample/jni/com_android_ndksample_MainActivity.h:

/Users/davidelizondo/android-ndk-r9b/platforms/android-19/arch-arm/usr/include/jni.h:

/Users/davidelizondo/android-ndk-r9b/platforms/android-19/arch-arm/usr/include/sys/cdefs.h:

/Users/davidelizondo/android-ndk-r9b/platforms/android-19/arch-arm/usr/include/sys/cdefs_elf.h:

/Users/davidelizondo/android-ndk-r9b/platforms/android-19/arch-arm/usr/include/android/api-level.h:

/Users/davidelizondo/Proyectos/NDKSample/jni/fibonacci.c:

/Users/davidelizondo/Proyectos/NDKSample/jni/fibonacci.h:

/Users/davidelizondo/android-ndk-r9b/platforms/android-19/arch-arm/usr/include/stdint.h:

/Users/davidelizondo/android-ndk-r9b/platforms/android-19/arch-arm/usr/include/sys/_types.h:

/Users/davidelizondo/android-ndk-r9b/platforms/android-19/arch-arm/usr/include/machine/_types.h:

/Users/davidelizondo/android-ndk-r9b/platforms/android-19/arch-arm/usr/include/sys/_wchar_limits.h:
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
/Users/davidelizondo/Proyectos/NDKSample/obj/local/armeabi/objs/nativeFibonacci/com_android_ndksample_MainActivity.o: \
/Users/davidelizondo/Proyectos/NDKSample/jni/com_android_ndksample_MainActivity.c \
/Users/davidelizondo/Proyectos/NDKSample/jni/com_android_ndksample_MainActivity.h \
/Users/davidelizondo/android-ndk-r9b/platforms/android-19/arch-arm/usr/include/jni.h \
/Users/davidelizondo/android-ndk-r9b/platforms/android-19/arch-arm/usr/include/sys/cdefs.h \
/Users/davidelizondo/android-ndk-r9b/platforms/android-19/arch-arm/usr/include/sys/cdefs_elf.h \
/Users/davidelizondo/android-ndk-r9b/platforms/android-19/arch-arm/usr/include/android/api-level.h \
/Users/davidelizondo/Proyectos/NDKSample/jni/fibonacci.h \
/Users/davidelizondo/android-ndk-r9b/platforms/android-19/arch-arm/usr/include/stdint.h \
/Users/davidelizondo/android-ndk-r9b/platforms/android-19/arch-arm/usr/include/sys/_types.h \
/Users/davidelizondo/android-ndk-r9b/platforms/android-19/arch-arm/usr/include/machine/_types.h \
/Users/davidelizondo/android-ndk-r9b/platforms/android-19/arch-arm/usr/include/sys/_wchar_limits.h

/Users/davidelizondo/Proyectos/NDKSample/jni/com_android_ndksample_MainActivity.h:

/Users/davidelizondo/android-ndk-r9b/platforms/android-19/arch-arm/usr/include/jni.h:

/Users/davidelizondo/android-ndk-r9b/platforms/android-19/arch-arm/usr/include/sys/cdefs.h:

/Users/davidelizondo/android-ndk-r9b/platforms/android-19/arch-arm/usr/include/sys/cdefs_elf.h:

/Users/davidelizondo/android-ndk-r9b/platforms/android-19/arch-arm/usr/include/android/api-level.h:

/Users/davidelizondo/Proyectos/NDKSample/jni/fibonacci.h:

/Users/davidelizondo/android-ndk-r9b/platforms/android-19/arch-arm/usr/include/stdint.h:

/Users/davidelizondo/android-ndk-r9b/platforms/android-19/arch-arm/usr/include/sys/_types.h:

/Users/davidelizondo/android-ndk-r9b/platforms/android-19/arch-arm/usr/include/machine/_types.h:

/Users/davidelizondo/android-ndk-r9b/platforms/android-19/arch-arm/usr/include/sys/_wchar_limits.h:
1 change: 1 addition & 0 deletions res/layout/activity_main.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
tools:context=".MainActivity" >

<TextView
android:id="@+id/native_result"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
Expand Down
39 changes: 26 additions & 13 deletions src/com/android/ndksample/MainActivity.java
Original file line number Diff line number Diff line change
@@ -1,22 +1,35 @@
package com.android.ndksample;

import android.os.Bundle;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.widget.TextView;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
private TextView mNativeResult;

static {
System.loadLibrary("fibonacci");
}

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mNativeResult = (TextView) findViewById(R.id.native_result);

mNativeResult.setText(String.valueOf(nativeFibonacci(6)));

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

public static native long nativeFibonacci(int n);

}
7 changes: 0 additions & 7 deletions src/com/android/ndksample/NativeFibonacci.java

This file was deleted.

0 comments on commit ba6000b

Please sign in to comment.