[Android] 环境优化配置Android Studio发展NDK

========================================================

作者:qiujuer

博客:blog.csdn.net/qiujuer

站点:www.qiujuer.net

开源库:Genius-Android

转载请注明出处:http://blog.csdn.net/qiujuer/article/details/42040963

========================================================

NDK 开发哪家强?XX XX 找 Blue Fly.

说到 NDK 开发。事实上是为了有些时候为了项目需求须要调用底层的一些 C/C++ 的一些东西。另外就是为了效率更加高些。

可是非常多时候能不用就不用;这个是啥原因?个人感觉有些时候是认为麻烦,首先要配置 NDK 还要 下载 Cygwin ,配置 Cygwin ,然后须要编译生成,哎太麻烦了。

假设你说使用 Eclipse,的确这样在编译上是能简单非常多,可是前期也是须要配置一大堆;哎,配置错了还伤不起。

如今谷歌主力推动 Android Studio 这个是个不错的工具,至少如今来看在 Eclipse 上能做到的 这边都有。这边有的Eclipse上不一定有。

以下来说说 在 Android Studio 中怎么进行 NDK 的开发。

准备工作

Android Studio 环境搭建

在我的上一篇文章 [Android] 环境配置之正式版Android Studio 1.0 中有介绍了。

NDK 环境搭建

都是可运行文件,下载后点击就可以解压到当前目录;当然你能够使用命令行来进行跨目录解压的。

建立一个项目 NDKDemo:

建立相应的类。在 MathKit 中我们实现计算 INT 值的平方数。

public class MathKit {
    public static native int square(int num);

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

StringKit 这个就是充数用的:

public class StringKit {
    public static native void setNull(String str);
    static {
        System.loadLibrary("JniDemo");
    }
}

准备 .h 文件

进入Java文件夹;CMD 进入该文件夹进行 javah 操作:

这个想必大家并不陌生吧,该文件就是 java 类相应的 头文件。当然假设你比較厉害的话能够不用这样生成。自己写程序完毕也行。反正我是不行。

例如以下,建立目录:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcWl1anVlcg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" >

拷贝之前的文件进去:

分别实现:

net_qiujuer_ndkdemo_jni_MathKit.cpp

#include <net_qiujuer_ndkdemo_jni_MathKit.h>

JNIEXPORT jint JNICALL Java_net_qiujuer_ndkdemo_jni_MathKit_square
  (JNIEnv *env, jclass cls, jint num)
  {
        return num*num;
  }

net_qiujuer_ndkdemo_jni_StringKit.cpp

#include <net_qiujuer_ndkdemo_jni_StringKit.h>

JNIEXPORT void JNICALL Java_net_qiujuer_ndkdemo_jni_StringKit_setNull
  (JNIEnv *env, jclass obj, jstring str)
  {

  }

设置项目

设置根文件夹中的:local.properties

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcWl1anVlcg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" >

该设置不是必须。假设你设置了环境变量则可不用设置;假设没有可是又没有设置将会出现:

设置 APP 项目 build.gradle

该设置是为了设置生成的Jni名称为:JniDemo。

主文件调用:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcWl1anVlcg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" >

如今点击执行:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcWl1anVlcg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" >

能够看见是很easy的。这个调用能够说是我操作过最简单的了;甚至于生成 .H 文件都能够编辑 .sh 文件来进行批处理(这个后面有时间再说).

很多其它

在平时的那些操作中我们不可避免的要建立:

Android.mk

LOCAL_PATH		:= $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE    := genius
LOCAL_SRC_FILES := net_qiujuer_imageblurring_jni_ImageBlur.cpp
LOCAL_LDLIBS    := -lm -llog -ljnigraphics

include $(BUILD_SHARED_LIBRARY)

Application.mk

APP_ABI		:= all
APP_PLATFORM:= android-19
APP_OPTIM	:= release

而这里这两个文件都没有建立,那么是怎么决定的呢?

我们能够在 ndk 的 modelName 上按住 Ctrl 进行点击将会出现这个界面:

这些就是所有可以设置的參数。

分别相应:

        ndk{
            moduleName "JniDemo" // 设置生成的文件名称
            cFlags "-DANDROID_NDK -D_RELEASE" //这个相应的是生成模式
            ldLibs "m", "log", "jnigraphics" //这个相应 LOCAL_LDLIBS 可是须要去掉前面的 “l”
            abiFilters "all" //这个是相应的 APP_ABI
            stl "stlport_shared" //这个相应的是 APP_STL
        }

好了。就这些祝大家成功。项目打包上传。

本次项目点击这里下载。

========================================================

作者:qiujuer

博客:blog.csdn.net/qiujuer

站点:www.qiujuer.net

开源库:Genius-Android

转载请注明出处:http://blog.csdn.net/qiujuer/article/details/42040963

========================================================

版权声明:本文博客原创文章。博客,未经同意,不得转载。

时间: 2024-10-08 10:44:51

[Android] 环境优化配置Android Studio发展NDK的相关文章

【转载】Ubuntu环境下配置Android Studio

之前学习Android开发的时候,一直跟各种教程一样,使用的是Eclipse+ADT,主要是比较方便,容易上手,特别是对于习惯用Eclipse开发java的朋友来说,上手更是好无压力.但毕竟Eclipse+ADT最多只能算Google的干儿子,特别是在有了亲儿子Android Studio后,今后的潮流必定是使用Android Studio进行android开发. 因为嫌麻烦,所以一直没尝试,昨天闲来无事,鼓捣了一下,把Android Studio配置好了,最大的直观感受就是:漂亮!对平时总是羡

Ubuntu环境下配置Android Studio【转】

本文转载自:https://www.jianshu.com/p/1f6295f9c955 之前学习Android开发的时候,一直跟各种教程一样,使用的是Eclipse+ADT,主要是比较方便,容易上手,特别是对于习惯用Eclipse开发java的朋友来说,上手更是好无压力.但毕竟Eclipse+ADT最多只能算Google的干儿子,特别是在有了亲儿子Android Studio后,今后的潮流必定是使用Android Studio进行android开发. 因为嫌麻烦,所以一直没尝试,昨天闲来无事,

JDK与adb/android环境变量配置完整教程

在这篇文章中,主要解决一个在Java或者Android开发中第一步需要解决的问题,那就是环境变量的配置.由于这部分在网上有很多教程,参差不齐.我这里主要是对JDK与adb/android两者的环境变量进行汇总,并且针对每一类配置提供几种不同的实现方式. [1]JDK环境变量配置 JDK的安装目录为:C:\Program Files (x86)\Java\jdk1.7.0_45.JDK环境变量配置共有三种方法,即绝对路径法.JAVA_HOME法.完整法. (1)绝对路径法:即JDK的环境变量的配置

Windows环境下搭建Cocos2d-x3.2环境并配置android交叉编译环境

一.软件 1)VS2012(C++11特性在VS2012以上可以使用):传送门: 2)Cocos2d-x官网源码:传送门:http://cocos2d-x.org/download 3)JDK:传送门:https://github.com/inferjay/AndroidDevTools/ 4)NDK:传送门:https://github.com/inferjay/AndroidDevTools/ 5)ANT:传送门:https://github.com/inferjay/AndroidDevT

Android环境开发配置

1.首先下载并配置jdk 安装完后打开系统环境变量设置, a.系统变量→新建 JAVA_HOME 变量 .变量值填写jdk的安装目录 b.系统变量→寻找 Path 变量→编辑 在变量值最后输入 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; (注意原来Path的变量值末尾有没有;号,如果没有,先输入:号再输入上面的代码) c.系统变量→新建 CLASSPATH 变量变量值填写 .%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(注意最前

Nginx、Tomcat线上环境优化配置

 Nginx.Tomcat线上环境优化配置 Nginx优化: Nginx安全方面的优化: 1. nginx安全优化,在nginx配置文件http标签段内添加"server_tokens  off"即可隐藏访问或者报错时提示web版本号信息. 2. server_tokens参数可以在http,server,location的位置添加 3. 还可以修改nginx的3个源码文件 4. 如还需要安全优化更改端口.用户. nginx 性能优化: 对于nginx配置文件中对优化比较有作用的一般为

Windows7环境下搭建Cocos2d-x3.3环境并配置android交叉编译环境

   本指南将介绍如何在Windows 7平台搭建Cocos2d-x Android开发环境.本指南操作要求一台搭载Windows 7平台及安装Visual Studio 2012/2013的电脑.最好拥有快速稳定的网络,因为在指南操作中需要下载许多软件包. 一.电脑环境 Win7+32位 二.必备软件下载地址与版本 1.Eclipse 下载地址:http://www.eclipse.org/downloads/ 笔者使用版本:Luna(最新版本Mars,官方定于2015年6月24日发布),记得

mac下android环境搭建笔记(android studio)

http://www.tuicool.com/articles/FNRfyiF 本文记录了本人在mac上配置android开发环境的一些过程,为了方便直接选用了官方的IDE– Android Studio .本文包括了android studio的安装.创建第一个hello world项目以及真机调试. 首先下载android studio 下载地址: http://developer.android.com/sdk/index.html 建议提前修改下hosts,要不稍后下载sdk特别慢 su

Linux java以及android环境的配置和注意事项

上次装完了Linux,后来配java环境,android环境好几次都出现无法进入系统,整的我要么用shell框修改配置文件,要么重装,这几天也正在使用Linux,顺带抽出点时间来总结了一丢丢:(有些步骤可以通过shell来实现,为方便起见我就直接口述了) 一.配置jdk: 1. 首先将你的jdk解压到你对应所要安装的目录下 2.如果开始配置环境变量: (环境变量之小科普)环境变量分为全局变量,用户变量,临时环境变量.顾名思义,第一个就是对linux所有用户都有效的环境变量:第二个就是 置针对用户