资讯专栏INFORMATION COLUMN

NDK入门

wanglu1209 / 1777人阅读

摘要:第一步安装配置环境变量注意要在根目录下保存退出回车输入,验证配置是否成功出现上面的结果,表示配置成功,要配合使用第二步编写项目创建项目,配置编写类编写对应文件,并生成文件生成文件利用生成文件注意包名类名创建把文件粘贴到里面创建

第一步.安装ndk,配置环境变量

pico .bash_profile 注意要在根目录下

export PATH=/Users/humax/Development/Homebrew/bin:$PATH:$M2_HOME/bin:/Users/humax/Development/Homebrew/opt/android-ndk
export ANDROID_NDK=/Users/humax/Development/Homebrew/opt/android-ndk
export ANDROID_NDK

保存退出:
control+x
Y
回车

输入ndk-build,验证配置是否成功

出现上面的结果,表示配置成功,ndk-build要配合Application.mk,Android.mk使用

第二步.编写HelloNDK项目 1.创建HelloNDK项目,gradle配置NDK

ndk {
  abiFilters "armeabi-v7a"
}
2.编写Java类

3.编写对应C文件,并生成.so文件 1)Android Studio -> Build -> Make Project,生成class文件


2)利用javah 生成.h文件,注意javah 包名.类名


3)创建JNI Folder,把.h文件粘贴到里面


4)创建编写.cpp文件

env -> NewStringUTF是JNI提供的功能接口

5)编写Application.mk,Android.mk,ndk-build生成so文件



注意:
Android.mk中

LOCAL_MODULE := hellondk
LOCAL_SRC_FILES := liufeismart_com_hellondk_JNIUtil.cpp

Application.mk中

APP_ABI := armeabi-v7a

注意,在调用idk-build之前,把jni目录移动

在jni目录下,执行ndk-build


6)System.loadLibrary添加so库


注意:在gradle中添加

android {

sourceSets {
    main.jniLibs.srcDirs = ["libs"]
}

否则,

Process: liufeismart.com.hellondk, PID: 18436
                                                                          java.lang.UnsatisfiedLinkError: Couldn"t load hellondk from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/liufeismart.com.hellondk-2.apk"],nativeLibraryDirectories=[/data/app-lib/liufeismart.com.hellondk-2, /vendor/lib, /system/lib]]]: findLibrary returned null
                                                                              at java.lang.Runtime.loadLibrary(Runtime.java:358)
                                                                             at java.lang.System.loadLibrary(System.java:526)
                                                                             
7)运行项目

Demo地址:链接: https://pan.baidu.com/s/1nuLkrQp 密码: hig7

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/70912.html

相关文章

  • AndroidStudio NDK开发最佳入门实践

    摘要:开发最佳入门实践网上一些介绍入门的教程,感觉都不是很完整和全面,也没有告诉初学的同学们一些需要注意的地方。本文所介绍的是在上搭建最佳的开发环境,给使用的开发人员最大的方便。开发最佳入门实践最后在程序中添加上加载库文件的代码。 AndroidStudio NDK开发最佳入门实践 网上一些介绍AndroidStudio NDK入门的教程,感觉都不是很完整和全面,也没有告诉初学Androi...

    macg0406 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<