Android下使用C++ 的NDK範例
16lz
2021-01-26
在NDK下使用C++編譯程式
這次一樣使用NDK下的範例程式hello-jni示範
1.將hello-jni.c改名為hello-jni.cc,並且在此檔案下加入
2.修改Android.mk
LOCAL_PATH := $(call my-dir)
LOCAL_CPP_EXTENSION := .cc
include $(CLEAR_VARS)
LOCAL_MODULE := hello-jni
LOCAL_SRC_FILES := hello-jni.cc
include $(BUILD_SHARED_LIBRARY)
3.編譯
Administrator@mychat-53bb70c5 /cygdrive/d/android-ndk-1.6_r1
$ make APP=hello-jni -B
Android NDK: Building for application 'hello-jni'
SharedLibrary : libhello-jni.so
/cygdrive/d/android-ndk-1.6_r1/build/prebuilt/windows/arm-eabi-4.2.1/bin/../lib/gcc/arm-eabi/4.2.1/.
./../../../arm-eabi/bin/ld: BFD 2.17 assertion fail /cygdrive/c/digit/Android/git/android-ndk/out/ar
m-eabi-4.2.1/toolchain/src/binutils-2.17/bfd/elf32-arm.c:2428
/cygdrive/d/android-ndk-1.6_r1/build/prebuilt/windows/arm-eabi-4.2.1/bin/../lib/gcc/arm-eabi/4.2.1/.
./../../../arm-eabi/bin/ld: BFD 2.17 assertion fail /cygdrive/c/digit/Android/git/android-ndk/out/ar
m-eabi-4.2.1/toolchain/src/binutils-2.17/bfd/elf32-arm.c:2428
/cygdrive/d/android-ndk-1.6_r1/build/prebuilt/windows/arm-eabi-4.2.1/bin/../lib/gcc/arm-eabi/4.2.1/.
./../../../arm-eabi/bin/ld: BFD 2.17 assertion fail /cygdrive/c/digit/Android/git/android-ndk/out/ar
m-eabi-4.2.1/toolchain/src/binutils-2.17/bfd/elf32-arm.c:2428
Install : libhello-jni.so => apps/hello-jni/project/libs/armeabi
這次一樣使用NDK下的範例程式hello-jni示範
1.將hello-jni.c改名為hello-jni.cc,並且在此檔案下加入
class math{ public: static int add(int x,int y) {return x+y;}}; jintJava_com_example_hellojni_HelloJni_Add( JNIEnv* env,jobject thiz , jint x,jint y){ return math::add(x,y)}
2.修改Android.mk
LOCAL_PATH := $(call my-dir)
LOCAL_CPP_EXTENSION := .cc
include $(CLEAR_VARS)
LOCAL_MODULE := hello-jni
LOCAL_SRC_FILES := hello-jni.cc
include $(BUILD_SHARED_LIBRARY)
3.編譯
Administrator@mychat-53bb70c5 /cygdrive/d/android-ndk-1.6_r1
$ make APP=hello-jni -B
Android NDK: Building for application 'hello-jni'
SharedLibrary : libhello-jni.so
/cygdrive/d/android-ndk-1.6_r1/build/prebuilt/windows/arm-eabi-4.2.1/bin/../lib/gcc/arm-eabi/4.2.1/.
./../../../arm-eabi/bin/ld: BFD 2.17 assertion fail /cygdrive/c/digit/Android/git/android-ndk/out/ar
m-eabi-4.2.1/toolchain/src/binutils-2.17/bfd/elf32-arm.c:2428
/cygdrive/d/android-ndk-1.6_r1/build/prebuilt/windows/arm-eabi-4.2.1/bin/../lib/gcc/arm-eabi/4.2.1/.
./../../../arm-eabi/bin/ld: BFD 2.17 assertion fail /cygdrive/c/digit/Android/git/android-ndk/out/ar
m-eabi-4.2.1/toolchain/src/binutils-2.17/bfd/elf32-arm.c:2428
/cygdrive/d/android-ndk-1.6_r1/build/prebuilt/windows/arm-eabi-4.2.1/bin/../lib/gcc/arm-eabi/4.2.1/.
./../../../arm-eabi/bin/ld: BFD 2.17 assertion fail /cygdrive/c/digit/Android/git/android-ndk/out/ar
m-eabi-4.2.1/toolchain/src/binutils-2.17/bfd/elf32-arm.c:2428
Install : libhello-jni.so => apps/hello-jni/project/libs/armeabi
更多相关文章
- Android(安卓)程式开发:(十)基本控件 —— 10.2 Button,ImageButton
- Android(安卓)Framework 目录分析
- android使用ffmpeg的实例程序
- Android(安卓)程式开发:(九)使用活动栏 —— 9.3自定义ActionBar项
- Android(安卓)程式开发:(十三)特殊碎片 —— 13.2 DialogFragment
- 修改Android源码的Launcher的例子
- Google Nexus 7/Android(安卓)4.1新手入門技巧
- [Android軟體] SanDisk Memory Zone 智慧手機記憶卡管理+雲端檔
- Android应用开发笔记(7):构建自己的Android账户与内容同步机制,例