Android--JNI与NDK
喜欢雨天的我
爱技术,爱生活.
展开
-
Jni基础开发入门(六)
摘要 对于jni来说,有时候需要使用到java中的一些方法,因此反射机制必不可少。 Jni反射首先要用到Jni反射机制,那么我们先来看一下java的反射机制。 public class SimpleDemo { public void show(String str){ System.out.println(str); } public void原创 2016-12-10 08:20:27 · 583 阅读 · 0 评论 -
Android 平台语音通话及回音消除、噪音消除研究
一 Android平台语音通讯正因为Android平台优越的性能、美观的界面,越来越多人使用Android手机,从而在Android平台上的语音通话越来越多。语音通话大概流程如下:我认为一个语音通话系统至少有四个模块。分别是PCM(PulseCode Modulation,即 脉码编码调制)语音采集,编解码,网络传输以及语音播放。如果算上UI交互的话,就是五个模块了。整体流程大转载 2017-03-28 15:01:23 · 15381 阅读 · 9 评论 -
Android Studio Cmake配置项
Cmake的配置Android Studio 2.2以上支持了Cmake的配置JNI的相关参数,简化了通过Android.mk配置。并很好的继承了C++的编辑方式。以下是对应的引入第三方so和第三方.cpp文件的路径脚本编写。对应于:CMakeLists.txt#定义变量ProjectRoot为工程根目录,用相对路径没通过编译,可能是路径写错,以后再试#本次使用绝对路径作为参数set(Proje原创 2017-03-28 13:18:26 · 2973 阅读 · 0 评论 -
使用Android Studio 2.2和Cmake (CMakeLists)让OpenCV 飞起来
原文 :http://blog.csdn.net/martin20150405/article/details/532844422017-01-13 :现在已经更新到OpenCV3.2 如果懒得自己配,可以直接下载,包括使用Cmake作为工具的 OpenCV 3.1 for Android(支持Java 和 NDK C++,不需要额外配置,不需要OpenCV Manager),提供一个转载 2017-03-01 22:31:51 · 923 阅读 · 0 评论 -
undefined reference to androidbitmapgetinfo
报错如下 当然请先忽略我的OpenCV中方法没有找到,Cmakelist配置出了点问题。解决办法在Build.gradle中配置-ljnigraphics。 externalNativeBuild { cmake { cppFlags "-std=c++11 -frtti -fexceptions -ljnigraphics"原创 2017-01-12 18:45:29 · 1402 阅读 · 0 评论 -
Android jni开发中使用bitmap
增加头文件#include <android/bitmap.h>以下是Bitmap转化为Mat 再反射转化为BitmapJNIEXPORT jobject JNICALL Java_com_iyunwen_houshuai_getMagicColorBitmap(JNIEnv *env, jobject thiz,jobject bitmap){ __android_log_print原创 2017-01-17 16:56:24 · 6274 阅读 · 0 评论 -
AndroidStudio error: could not install *smartsocket* listener: cannot bind to 127.0.0.1:5037:
关于Android调试时端口被占用不管我们是想在DOS里面杀掉adb:adb kill-server 再启用:adb start-server会发现 依然端口被占用,并且移除不掉。我们需要找到对应线程并Kill掉他在DOS中我们输入命令 adb nodaemon server 查看现在端口是否被正常使用如果发现那么我的的端口依然是被占用的,因此我们需要找到占用的端口netstat -ano原创 2016-12-23 09:18:22 · 10347 阅读 · 4 评论 -
关于JNI的简单调制
用于在Android Stuido中使用 NDK中的ndk-stack来设置我们的Log日志查看 我们的.so库哪里出现了问题。adb shell logcat | ndk-stack -sym $PROJECT_PATH/obj/local/armeabi就如如下情况: 可以看#03中定位到了 我写的JNI的第98行出现了问题 ,这样我就可以在这个范围进行排查。原创 2016-12-22 19:33:52 · 593 阅读 · 0 评论 -
NDK开发详解
转载:http://www.cnblogs.com/yejiurui/p/3476565.html 谷歌改良了ndk的开发流程,对于Windows环境下NDK的开发,如果使用的NDK是r7之前的版本,必须要安装Cygwin才能使用NDK。而在NDKr7开始,Google的Windows版的NDK提供了一个ndk-build.cmd的脚本,这样,就可以直接利用这个脚本编译,转载 2016-07-14 19:12:19 · 909 阅读 · 0 评论 -
NDK的Linux的环境搭建(Eclipse篇)
转载:http://www.cnblogs.com/devinzhang/archive/2012/02/29/2373729.htmlAndroid之NDK开发 一、NDK产生的背景 Android平台从诞生起,就已经支持C、C++开发。众所周知,Android的SDK基于Java实现,这意味着基于Android SDK进行开发的第三方应用都必须使用Java语言。但这并不等转载 2016-07-14 19:15:21 · 1714 阅读 · 0 评论 -
Android.mk的简化(NDK)
LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := game_sharedLOCAL_MODULE_FILENAME := libgameLOCAL_SRC_FILES := helloworld/main.cpp \ ../../Classes/AppDelegate.cpp \原创 2016-07-19 19:00:27 · 476 阅读 · 0 评论 -
Jni开发基础入门(二)
摘要 上一篇,我们完成了Android Studio中对Ndk的支持,接下来我们就动手看一看NDK中编写需要注意的一些地方。 必要了解在做NDK开发 前,首先我们需要知道NDK的一些参数和配置,这样我们在编写的时候就不会太过迷茫。这里我先讲jni.h的头文件贴出来,当然是全部的,希望在了解Jni前,先了解一下JNi中头信息给我的一些使用方法,大体分为两部分:一部分声明为C语言的实现,原创 2016-12-09 09:43:03 · 703 阅读 · 0 评论 -
Jni基础开发入门(四)
摘要 上一部分,我们了解到了jni中的元素与C和Java的对应关系,那么接下来将说明,java方法 对应jni的签名关系(后续的jni反射很有用) 对应签名在了解对应签名前,我曾经希望大家可以去看一下jni.h中头文件的声明,那么我们在头文件中会找到这样一个对应关系。typedef union jvalue { jboolean z; jbyte b原创 2016-12-09 13:41:36 · 467 阅读 · 0 评论 -
Jni基础开发入门(五)
摘要 对于NDK开发,很重要就是对第三方依赖的支持,那么在Android Studio2.2中,我们如何实现这个过程呢,当然还是先Cmake脚本上下一些功夫。 Cmake配置在最新版的Android Studio中已经将NDK librarys添加到CMakelists.txt脚本文件中。Google已经将其简化到,我们只需要向CMake提供我们使用的libary名字就可以。fin原创 2016-12-09 23:17:39 · 2148 阅读 · 0 评论 -
JNI开发基础入门系列(一)
摘要入门第一步摘要 对于最新的Android Studio2.2完美的支持了对C++的支持,并可以在CPP中加入断点。好强大。 入门第一步需要先进行下载NDK和Cmake以及LLDB的支持。 接下来我们来看一下如何去创建我们的jni应用。其中分为两种第一种为我们新建的应用,来对C++进行支持首先我们需要在创建新应用时候进行勾选I...原创 2016-12-09 09:28:02 · 609 阅读 · 0 评论