NDK开发系列之环境的搭建
来源:互联网 发布:网宿科技 阿里云 编辑:程序博客网 时间:2024/05/20 00:15
1.NDK的介绍
1.1 什么是NDK?Native Development Kit(本地开发工具包)
通俗一点:NDK中提供了一系列的工具,帮助我们快速开发C/C++的动态库,并能自动将so 和java 应用一起打包成apk
说白了就是Java代码调用C/C++代码
1.2 什么是JNI?Java Native Interface(Java本地化接口)
Java调用C/C++的一套编码规范
NDK基于JNI
1.3 为什么使用NDK?
第一点:安全(代码的保护,由于apk的java层代码很容易被反编译,而C/C++库反汇难度较大)
第二点:硬件和性能(图像处理)
第三点:便于移植
第四点:借助了第三方C/C++优秀开源库
2.环境搭建:第一个NDK程序
2.1搭建的环境,IDE
本文只介绍Android Studio在Window环境下的搭建,这个时候相信很多小伙伴问为什么不介绍Eclipse的搭建,为什么不接受苹果环境的搭建,这里我只想说两个原因第一Eclipse现在谷歌已经停止对ADT维护,第二本人穷用不起苹果;另外如果大家想知道苹果环境中NDK环境,使用Eclipse开发如何搭建DNK环境的可以留言,我会发个大家视频进行教学。
2.2环境的搭建
环境的搭建主要包括以下几个步骤
第一步:新建一个Android工程
第二步:在AndroidStudio中配置NDK路径
注解:在AS中配置NDK非常简单 File->Project Structure->SDK Location->在Android NDK location这个栏目中下载NDK即可
第三步:编译生成.class文件
注解:Build->Rebuild Project
第四步:定义本地方法
注解:在用使用NDK方法的Activity中定义方法,例如在MainActivity中定义 public native String getText();方法
第五步:生成jni目录以及对应的.h头文件
两种方式(通过工具生成、通过命令生成)
cd app/src/main/java
javah -d ../jni 报名.MainActivity
第六步:配置build.gradle文件
注:类似于Eclipse中的.mk文件
defaultConfig {
ndk{
moduleName "Dream"//定义NDk类库名称
}
}
第七步:配置local.properties文件
注:指定NDK目录(一般情况下工具自动配置)ndk.dir=E\:\\Android\\sdk\\ndk-bundle
第八步:配置gradle.properties文件
android.useDeprecatedNdk=true
注:支持低版本,否则编译不通过
第九步:定义实现文件(.c或者.cpp文件)
注解:Build-Build->Rebuild Project ->clearn Project
第十步:测试
1.1 什么是NDK?Native Development Kit(本地开发工具包)
通俗一点:NDK中提供了一系列的工具,帮助我们快速开发C/C++的动态库,并能自动将so 和java 应用一起打包成apk
说白了就是Java代码调用C/C++代码
1.2 什么是JNI?Java Native Interface(Java本地化接口)
Java调用C/C++的一套编码规范
NDK基于JNI
1.3 为什么使用NDK?
第一点:安全(代码的保护,由于apk的java层代码很容易被反编译,而C/C++库反汇难度较大)
第二点:硬件和性能(图像处理)
第三点:便于移植
第四点:借助了第三方C/C++优秀开源库
2.环境搭建:第一个NDK程序
2.1搭建的环境,IDE
本文只介绍Android Studio在Window环境下的搭建,这个时候相信很多小伙伴问为什么不介绍Eclipse的搭建,为什么不接受苹果环境的搭建,这里我只想说两个原因第一Eclipse现在谷歌已经停止对ADT维护,第二本人穷用不起苹果;另外如果大家想知道苹果环境中NDK环境,使用Eclipse开发如何搭建DNK环境的可以留言,我会发个大家视频进行教学。
2.2环境的搭建
环境的搭建主要包括以下几个步骤
第一步:新建一个Android工程
第二步:在AndroidStudio中配置NDK路径
注解:在AS中配置NDK非常简单 File->Project Structure->SDK Location->在Android NDK location这个栏目中下载NDK即可
第三步:编译生成.class文件
注解:Build->Rebuild Project
第四步:定义本地方法
注解:在用使用NDK方法的Activity中定义方法,例如在MainActivity中定义 public native String getText();方法
第五步:生成jni目录以及对应的.h头文件
两种方式(通过工具生成、通过命令生成)
cd app/src/main/java
javah -d ../jni 报名.MainActivity
第六步:配置build.gradle文件
注:类似于Eclipse中的.mk文件
defaultConfig {
ndk{
moduleName "Dream"//定义NDk类库名称
}
}
第七步:配置local.properties文件
注:指定NDK目录(一般情况下工具自动配置)ndk.dir=E\:\\Android\\sdk\\ndk-bundle
第八步:配置gradle.properties文件
android.useDeprecatedNdk=true
注:支持低版本,否则编译不通过
第九步:定义实现文件(.c或者.cpp文件)
注解:Build-Build->Rebuild Project ->clearn Project
第十步:测试
0 0
- NDK开发系列之环境的搭建
- [开发工具] 史上最全系列之开发环境搭建之NDK
- 史上最全系列之开发环境搭建之NDK
- 史上最全系列之开发环境搭建之NDK
- 史上最全系列之开发环境搭建之NDK
- 史上最全系列之开发环境搭建之NDK
- Android---NDK开发系列之环境搭建和第一个NDK项目
- NDK开发环境的搭建
- 我的NDK开发之旅 No.1 环境搭建
- Android之eclipse NDK开发环境的搭建
- Android开发之NDK环境搭建
- Android NDK 入门之开发环境搭建
- NDK开发之环境的搭建和开发第一个NDK程序
- NDK 开发环境搭建
- NDK 开发环境搭建
- NDK开发环境搭建
- NDK开发环境搭建
- NDK开发环境搭建
- uuid udid区别
- golang windows下 调用外部程序隐藏cmd窗口
- Java classloader机制
- spring项目中,web.xml中的 ContextLoaderListener监听器的原理
- Uva1597 -Searching the Web
- NDK开发系列之环境的搭建
- 基于地图的短信追踪小练习(1)百度地图的初创建
- 欢迎使用CSDN-markdown编辑器
- Calendar 基本使用方式
- Java中IO总结
- vue.js入门实例
- 获取沙盒路径
- c++使用libiconv
- 20161010的考试】noip模拟,崩的不要不要的(模拟题,two(three) pointer,模拟