JNI
Stone_OverLooking
这个作者很懒,什么都没留下…
展开
-
JNI 数组返回值问题记录
JNIEXPORT jintArray JNICALL Java_com_example_zhongtao_jniday13_Hello_arrElement(JNIEnv *env, jclass jobj, jintArray jarry){ //获取数组长度 int len=(*env)->GetArrayLength(env,jarry); LOGD("array原创 2017-06-07 23:09:53 · 2330 阅读 · 1 评论 -
Android硬编码——音频编码、视频编码及音视频混合
转载自:http://lib.csdn.net/article/liveplay/57099?knId=1546视频编解码对许多Android程序员来说都是Android中比较难的一个知识点。在Android 4.1以前,Android并没有提供硬编硬解的API,所以之前基本上都是采用FFMpeg来做视频软件编解码的,现在FFMpeg在Android的编解码上依旧广泛应用。本篇博客主要讲到转载 2017-11-09 10:23:05 · 436 阅读 · 0 评论 -
Android ADB WIFI定位NDK错误调试方法
1.打开Android studio 工具栏找到Tools->Android->ADB WIFI 2.在ADB WIFI中有两项ADB USB TO WIFI 和ADB Restart 注:如果没有上述项,需要在Android setting->Plugins里面先下载ADB 3.一般如果电脑上开着360手机助手或者类似于豌豆荚的软件,需要关闭,不然会将默认的端口5555占据,之后将手机和PC原创 2017-12-29 09:40:15 · 492 阅读 · 0 评论 -
Android ndk获取手机内部存储卡的根目录
jclass envcls = env->FindClass("android/os/Environment"); //获得类引用 if (envcls == nullptr) return 0; //找到对应的类,该类是静态的返回值是File jmethodID id = env->GetStaticMethodID(envcls, "getExternalStorag原创 2017-12-14 19:46:36 · 5035 阅读 · 0 评论 -
JNI相关的函数使用方式
JNI常用函数大全要素 :1、 该函数大全是基于C语言方式的,对于C++方式可以直接转换 ,例如,对于生成一个jstring类型的方法转换分别如下: C使用方法为:(*env) ->NewStringUTF(env , "123") ; C++则是:env ->NewStringUTF( "123") ;(使用起来更简单)2、关于下列有些函数中的参数原创 2017-12-02 20:14:35 · 726 阅读 · 0 评论 -
关于android studio使用cmake 编写jni调用静态库、动态库的方式
最近在帮助项目的大神测试编译出来的安卓动态库,需要用到jni,但是使用ndk去编译有太麻烦(还是懒),毕竟库太多了。然后以前听说android studio被谷歌搞得可以使用cmake去编译源码库,于是乎,就更新了许久未用的android studio。在这个过程中真的是很恶心。使用jni动态注册函数时,总是注册不过,最后就是用android studio原声的native-lib.cpp原创 2017-11-30 17:31:33 · 6650 阅读 · 7 评论 -
对最近Android项目中的视频编解码的总结
最近的项目是一个智能摄像头的项目,对于我们Android客户端来讲,肯定核心的是就是音视频编解码了。对于硬件端,也就是摄像头端,在我接手项目的时候,他们都已经订好了技术方案。往客户端(iOS,Android,PC)三端传输的数据是音视频分开的。音频通过G711u,视频通过H264。我们客户端这边需要做的就是解码H264拿到未压缩的视频帧,和转码G711u到PCM可以播放***视频解码,一开始由转载 2017-11-09 09:34:24 · 598 阅读 · 0 评论 -
JNI中的C回调java中的方法
C反射调用java方法,反射机制和java中的反射机制差不多。以下是调用一个返回值为空,参数为空的实例#include#include#include#include//#define LOG_TAG "System.out"#define LOG_TAG "lalalal"#define LOGD(...) __android_log_print(ANDROID_LOG原创 2017-06-26 15:09:42 · 1245 阅读 · 0 评论 -
android JNI动态注册
android JNI动态注册的方式相较于静态注册在实际的开发应用中是相当快捷与方便滴在java代码中只需将native函数声明,并将JNI函数库加载进去即可在jni.cpp文件的代码中定义调用与被调用的函数即可。然后就可以进行注册使用。下面使用代码举例:#include <jni.h>/** * JNINativeMethod由三部分组成,可添加多组对应: * (1)J...原创 2018-02-22 11:34:44 · 288 阅读 · 0 评论