[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

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

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

时间: 07-09

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

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的环境变量的配置

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 OS X系统下android环境变量配置和真机调试

一.确保你的安卓手机可以被mac读取. 方法:下载并安装 androidfiletransfer.dmg 文件,让你的Mac可以存取Android手机内存. 下载地址:http://www.android.com/filetransfer  需要翻墙 或者链接: http://pan.baidu.com/s/1bpiEb8N 密码: gun 二.设置好你机器的环境变量. 在Mac下开发Android,要想在终端利用命令行使用adb/android等命令时,需要配置一下环境变量. 1.找到SDK文

jenkins+gradle+android环境变量配置

1.jenkins添加gradle插件 2.环境变量配置[mac mini] 可以自己写profile文件,也可以放到/etc/.profile里面. JDK: export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0.jdk/Contents/Home Android[adt-bundle]: export ANDROID_HOME=/Users/git/android/adt-bundle-mac-x86_64-20130514/

android环境变量配置错误1

最近在搭建ionic环境,然后出现一个这个错误,我去这就很尴尬了,我android应用都能运行,你ionic就特殊点? 解决办法: 下载 https://dl.google.com/android/repository/tools_r25.2.3-macosx.zip (for mac). https://dl.google.com/android/repository/tools_r25.2.3-windows.zip (for windows). 然后直接把文件拖进sdk文件,直接覆盖,即可

android 环境变量配置

Windows下 1.JAVA_HOME 配置 JAVA_HOME 配置变量名,JAVA_HOME 变量值:C:\Program Files\Java\jdk1.7.0_72 PATH,  变量名: PATH 变量值:%JAVA_HOME%\bin CLASSPATH, 变量名CLASSPATH 变量值:%JAVA_HOME%\lib\tools.jar 从cmd下运行 java -version 或者javac 判断配置成功与否. 2.ANDROID 配置 a. PATH,变量名:PATH 变

Android环境插件配置笔记

JAVA_HOME C:\Program Files\Java\jdk1.8.0_40 Path后面 追加;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin CLASSPATH .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; adt在线更新地址  :http://dl-ssl.google.com/android/eclipse/ svn在线更新地址  :http://subclipse.tigris.org/upda

android环境变量配置

配置环境变量,新建: ANDROID_SDK_HOME 它的路径是 D:\Program Files (x86)\adt-bundle-windows-x86_64-20140321\sdk 然后将platform-tools和tools加入到path %ANDROID_SDK_HOME%\platform-tools;%ANDROID_SDK_HOME%\tools;