![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android
Lammyzp
这个作者很懒,什么都没留下…
展开
-
android jni层log打印和方法运行时间打印
Log 打印log的定义,需要打印log时候#define __DEBUG__ANDROID__ON ,关闭时候#define __DEBUG__ANDROID__OFF,下面的时间打印同理。#define __DEBUG__ANDROID__ON//write debug images#ifdef __DEBUG__ANDROID__ON#include <android...原创 2019-02-19 17:29:29 · 3152 阅读 · 0 评论 -
Android架构那些事之第三方库的隔离(转)
在进入主题之前我们先说一下app客户端为什么需要有一个好的架构。(转:android 架构第三方库隔离) 我们都知道一个好的架构会使我们的开发变得事半功倍。 设计架构的目的在于使我们的客户端易于扩展、方便单元测试、可复用。 做到使模块之间低耦合,模块内部高内聚。 我们在开发的过程中会不可避免的引用一些第三方库,比如网转载 2017-05-31 22:43:45 · 891 阅读 · 0 评论 -
android adb操作手机和常用命令
1、adb 抓取log网上资料多,这里的命令直接截取自:https://blog.csdn.net/wenzhi20102321/article/details/81058196//格式1:打印默认日志数据adb logcat //格式2:需要打印日志详细时间的简单数据adb logcat -v time//格式3:需要打印级别为Error的信息adb logcat *:E...原创 2019-03-05 16:36:40 · 4010 阅读 · 4 评论 -
OpenSLES android平台播放音频pcm
目录播放流程和条件Opengl SLObjectItf 对象创建的四板斧播放pcm的流程播放流程和条件android自带的openSL库,可用来解码音频,也可以来播放音频,以及录音。要在jni层调用:1、cmakeList 中target_link_libraries 内引入库:OpenSLES2、引入头文件:#include "SLES/OpenSLES....原创 2019-04-02 09:57:26 · 875 阅读 · 0 评论 -
android studio以及sdk的一些使用工具和使用技巧
目录1、截屏,截图看手机屏幕。2、查看所有文件3、查看所有进程,和手机图像(可能需要root权限)4、查看应用UI布局5、android studio调节内存大小(解决studio运行OutOfMemory)1、截屏,截图看手机屏幕。2、查看所有文件3、查看所有进程,和手机图像(可能需要root权限)双击sdk/tools/moniror.bat...原创 2019-03-29 09:56:11 · 346 阅读 · 0 评论 -
android samplerExternalOES 纹理
samplerExternalOES 的纹理映射上一章节讲解了opengl顶点坐标与sampler2D坐标,而samplerExternalOES 是android用来渲染 相机数据。但它也存在一个问题,android的后置相机的预览的图像是顺时针旋转90°的,而相对于前置相机则是逆时针旋转90°的,如果想要跟照镜子一样的模式,自拍则还要左右对换。后置摄像头后置摄像头只是需要将纹理旋转...原创 2019-04-28 11:34:26 · 6476 阅读 · 0 评论 -
android jni 调用java类方法和成员变量
目录 jni层的2个变量介绍。jni调用java层对象和方法获取上层java的类。调用java层方法调用java成员变量参数 const char* sigjni层的2个变量介绍。JNIENV*env,这个是java jni的接口环境,通过它来和上层和c层打交道。jobject instance 这个变量就是jni 函数所在上层调用此函数的类...原创 2019-04-19 14:42:27 · 1311 阅读 · 1 评论 -
C++11 中thread 多线程的使用
1、简单的静态方法使用 void test(int a){ LOGE("test a = %d", a);}void main(){ std::thread seek_th(test ,2); seek_th.detach();}2、在类对象中,调用类的方法,创建线程。void LammyOpenglVideoPlayer::seekThread...原创 2019-04-19 14:59:52 · 644 阅读 · 0 评论 -
android glSurfaceview 底层创建EGL渲染环境
之前 android studio搭建简单jni层的opengl开发框架讲到的是在上层render的三个回调函数中写jni函数,从而在jni层调用opengl的绘制,但是在做播放器的时候,需要用opengl来渲染 每一帧,而底层解码后,再渲染,将渲染放在底层,这样播放器的整个框架都在底层,上层只是UI的一些显示操作,而且 如果在render的onFrame中直接来显示帧,在暂停或者seek的时候由...原创 2019-04-25 18:02:57 · 1555 阅读 · 3 评论 -
Android 系统自带模糊图像算法,获取状态栏、标题栏高度
Android 系统自带模糊图像,获取状态栏、标题栏高度 - Lammy - 博客园 hQGHuMEAyLn('[id="bb9c190068b8405587e5006f905e790c"]'); Lammy 博客园首页新随笔联系订阅管理 随笔-126 文章-0 评论-4 </div><!--end: b原创 2017-05-31 22:56:38 · 574 阅读 · 0 评论 -
android studio下生成aar文件并使用
android studio下生成aar文件1、首先新建一个android项目。 2、new moudle添加一个新的library的moudle,gradle上面为apply plugin: 'com.android.library',将具体的算法和编写的java文件都放在moudle里面 3、在app里面添加依赖moudle 4、rebuild编译后就可以在build/outputs...原创 2018-09-03 16:57:30 · 1920 阅读 · 0 评论 -
编译google libyuv so库
libyuv是Google开源的实现各种YUV与RGB之间相互转换、旋转、缩放的库。支持在Windows、Linux、Mac、等平台 和x86、x64、arm架构上进行编译执行,支持SSE、AVX、NEON等SIMD指令加速。下载下载地址: https://code.google.com/p/libyuv/source/checkout 或者 https://github.com...原创 2018-09-03 22:46:27 · 3580 阅读 · 0 评论 -
android jni 中jstring字符串的转化 和 一些常用数据转化
1、jni层,jstring转化为const char *const char *tablePath = (env->GetStringUTFChars(tablePath_, 0));2、jni层 jstring 转化为 char *char *tablePath = const_cast<char *>(env->GetStringUTFChars(ta...原创 2019-02-18 19:53:15 · 4158 阅读 · 0 评论 -
Tensorflow编译android平台的so库和jar包
tensorflow自己编译so库和android jar包,遇到了一些困难,这里简单叙述下注意的问题和基本流程。环境:ubuntu16.04tensorflow1.5 下载地址:https://github.com/tensorflow/tensorflow根据下图,tags不同选择不同tensorflow版本也可以。 1、bazel安装参考官网,:第一步大多已...原创 2019-01-10 12:12:11 · 3505 阅读 · 23 评论 -
opengl 离屏渲染,实现相机的实时滤镜
android 相机预览中讲到了,我们使用的是:samplerExternalOES ,这个不能自由的变化预览的尺寸,还会出现卡顿现象,为了克服这个问题,也是采用网上的一些人的解决方案,既将samplerExternalOES 转化为 sampler2D,然后再进行渲染。这里我们还是以相机预览为基础,这里我们最终将 texture不再渲染到屏幕,而是渲染到buffer中,因此我们在draw 之前...原创 2018-12-06 17:27:40 · 2145 阅读 · 0 评论 -
android opengl 实现相机的实时滤镜
上篇文章已经讲到了相机的实时预览,现在讲讲相机的实时滤镜,相机实时滤镜,其实就是根据上篇文章相机实时预览的基础上,在着色器中添加图像处理的算法。上篇文章给出了最基本的片着色器:#extension GL_OES_EGL_image_external : requireprecision mediump float;varying vec2 textureCoordinate;//unif...原创 2018-12-06 17:03:15 · 1540 阅读 · 0 评论 -
android opengl camera2 实现相机的实时预览 以及 点坐标samplerExternalOES的纹理坐标
相机一直是我的心病,花了几周的时间学习了下opengl se。并利用opengl来实现android平台下的实时预览。,真的硬着头皮啃 网上的大神的代码,没有什么注解,确实有点苦逼,闲话不说了现在做好笔记 ,方便回顾。相机的预览首先回到相机的预览,我们知道camera2,利用surfacetexture 可以在非预览情况下获得相机的数据,,然后利用与surfacetexture同一个textu...原创 2018-12-06 16:39:58 · 4540 阅读 · 0 评论 -
android camera2 应用以及实时滤镜
之前一直用android camera,但现在市面上新出的手机都是支持camera2的,项目要求也是运用camera2,于是自己学习了下,将一些知识点罗列出来,以供复习和大家参考。 一、camera2的预览流程 1、获取相机manager,获得相机ID列表(通过ID选择开启的相机) 2、获取画面传感器的面积,原创 2017-12-07 19:12:49 · 7538 阅读 · 6 评论 -
android studio 配置 opencv for android
之前的利用java命令编辑生jni文件的方式已经out了,本文主要介绍利用cmake插件来实现opencv for android 的配置和使用,掌握了cmake文件想配置其他的算法移植等工作也是一样的原理。配置 android studio 2.3以后的版本较好 cmake插件 opencv for android 这个可以在opencv网站上去下载解压后的目录如下图: 想利用opencv原创 2017-11-28 17:33:27 · 1513 阅读 · 0 评论 -
android 编译各cpu芯片的so库
最近做项目,集成的算法需要编译成so库给客户使用,在编译过程中遇到一些问题,下面先说下我的配置:apply plugin: 'com.android.library'android { compileSdkVersion 27 defaultConfig { minSdkVersion 23 targetSdkVersion 27 ...原创 2018-09-04 16:10:33 · 1241 阅读 · 0 评论 -
android 非jni函数调用java类方法
上篇博客已经讲到了android jni 调用java类方法和成员变量,源于ffmpeg的调用android的硬解码的灵感,则想着,在非jni函数中调用java层代码。便花了点时间研究了下。大家都知道jni函数中NIEnv *env, jobject instance,一个 是包含的jvm环境一个是 传下来类对象。于是在jni的函数最终保存了env,然后在非jni函数调用,但会失败,报错en...原创 2019-05-13 15:53:32 · 622 阅读 · 0 评论