自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

航行在蓝天的蚂蚱

JAVA,Android,C/C++

  • 博客(123)
  • 资源 (38)
  • 问答 (1)
  • 收藏
  • 关注

原创 androidStudio编译faac为动态库

下载faac源码包,地址:https://sourceforge.net/projects/faac/files/faac-src/faac-1.28/,注意要下载.tar.gz的,我试过.zip中的源码用ndk编译不通过。 然后创建一个android项目工程,并创建一个jni目录,并将源码所有文件全部粘贴到jni目录下,如图: 其中有一个config.h.in文...

2018-09-07 15:52:31 1171

原创 Android OpenSL ES播放pcm音频

OpenSL ES是一个嵌入式、跨平台、免费的、音频处理库,android ndk也引入了它,在android-ndk-r14b/platforms/android-21/arch-arm/usr/lib/libOpenSLES.so的目录下,libOpenSLES.so就是适用于Android平台的开发库。OpenELES对于android平台的支持只有部分API,因此,对于 OpenSL...

2018-05-27 21:05:53 1264

原创 android开发之OpenGL(二)

GLSL语言名词解释: 1、图元:图形软件用来描述各种图形的函数。 2、OpenGL渲染管线 渲染流水线:是显卡芯片内部处理图形信号相互独立的并行处理单元。简单理解就是把数据转化到OpenGL并且生成最终图像的一个过程! 3、GLSL是什么? GLSL是一门专门为图形开发设计的编程语言。 4、可编程管线的编程阶段 顶点处理阶段:由顶点着色器、...

2018-04-19 00:31:44 2648 2

原创 android开发之OpenGL(一)

初识OpenGL 一、什么是OpenGL 1、OpenGL是一种应用程序编程接口,它是一种可以对图形硬件设备特性进行访问的软件库。 2、OpenGL被设计为一个现代化的、硬件无关的接口,因此我们可以在不考虑计算机操作系统或窗口系统的前提下,在多种不同的图形硬件系统上,或者完全通过软件的方式实现OpenGL接口。 3、OpenGL自身并不包含任何执行窗口任务,或者处理用户输...

2018-03-14 22:48:19 13120

原创 Opencv实现简单的人脸检测

使用Opencv实现一个简单的人脸检测的Demo,是很简单的,具体的算法都是Opencv内部实现的,我们只需要调用实现就可以了。下面我们代码搞起!重点内容 第一步:Opencv调取摄像头, implements CameraBridgeViewBase.CvCameraViewListener2,Override onCameraViewStarted(int,int)、onC...

2018-03-05 10:50:01 1928 2

原创 android开发之音频拼接

第一种情况:不同压缩格式音频拼接,不同的压缩格式拼接需要解码为采样数据然后拼接,然后再编码为统一的压缩格式。 方法一:FFmpeg命令拼接,ffmpeg -I ‘concat:0.mp3|1.wav|2.aac’ -acodec copy merge.mp3。(注意:这种方式,速度相对还可以,但是在android设备上一下子拼接6个音频以上就会奔溃,应该是C代码中有什么变量...

2018-02-26 23:38:32 3537 4

原创 android中使用OpenCV之图像边缘检测

目前比较火热的图像识别技术,如车牌号识别、身份证识别、人脸识别等,都广泛运用到了图像边缘检测,今天我所介绍的就是OpenCV边缘检测,实现边缘检测有三个步骤:滤波->增强->检测,opencv中有三个常用的边缘检测算子函数:canny、sobel和laplace。 现附上一张原图: canny算子 Canny边缘检测算子是一种多级检测算法,Canny的目标是找到一个最

2018-02-05 00:35:24 3767

原创 android中使用OpenCV之数学形态学

数学形态学是由一组形态学的代数运算子组成的,其常见的运算有膨胀(或扩张)、腐蚀(或侵蚀)、开启、闭合、梯度、黑帽、顶帽以及击中击不中变换等。我在这儿主要介绍以上8种运算在OpenCV中的使用。 OpenCV中形态数学的算子实现方法为:morphologyEx() /** * 形态学滤波函数 morphologyEx() * 参数1:输入的图片 * 参数

2018-02-01 00:58:56 352

原创 android使用OpenCV之图像滤波处理

图像滤波: 尽量保留图像细节特征的条件下对目标图像的噪声进行抑制和平滑处理,是图像预处理中不可缺少的操作,其处理效果的好坏将直接影响到后续图像处理和分析的有效性和可靠性。 滤波器: 低通滤波器(允许低频通过),高通滤波器,带通滤波器,带阻滤波器,全通滤波器,陷波滤波器。 我在这儿主要介绍OpenCV中所提供的滤波操作,线性滤波与非线性滤波。 opencv中线性滤波操作

2018-01-29 18:39:20 3106

原创 android使用opencv图片腐蚀与扩张

数学形态学中运算有 膨胀(或扩张)、腐蚀(或侵蚀)、开启、闭合、骨架抽取、极线腐蚀、击中击不中变换、Top-hat变换、颗粒分析、流域变换、形态学梯度等,其中腐蚀与扩张就是我们今天所有讲的要点。opencv中对腐蚀和扩张有相对的函数去实现,多用于图像的取噪、分割出独立的图像元素,在图像中连接相邻的元素、寻找图像中明显的极大值或极小值区、求图像的梯度。腐蚀 腐蚀是求图片局部最小值算法,

2018-01-23 23:41:33 1613

原创 Android编译FreeType2

Android编译freetype2

2023-12-04 14:09:09 430

原创 如何安装AAB安装包

如何安装AAB安装包

2022-07-20 10:15:47 1004 1

原创 electron + vue 操作

electron + vue 操作vue init simulatedgreg/electron-vue wh-desktop-app? Application Name wh-desktop-app? Application Id com.wh.app? Application Version 0.0.1? Project description An electron-vue project? Use Sass / Scss? Yes? Select which Vue plugins.

2021-08-30 15:23:22 233

原创 python字符串集合排序

需求:按顺序修改每套试题的文件夹名称,文件名称开头都是由数字组成。所以需要对文件名进行排序以数字为比较对象,然后按顺序修改文件名称。 path = "./套题突破" dirList = tools.readDir(path) for d in dirList: childPath = path + "/" + d if os.path.isdir(childPath): print(d) childDirLi

2021-05-14 17:53:46 286

原创 sqlite数据库的加密与解密

sqlite数据库的加密与解密单词创建的数据库:WH_Lexicon.db利用sqlcipher对数据库进行加密;sqlcipher工具地址下载之后,编译$ ./configure --enable-tempstore=yes CFLAGS="-DSQLITE_HAS_CODEC" LDFLAGS="-lcrypto -L/usr/local/opt/openssl/lib" CPPFLAGS="-I/usr/local/opt/openssl/include"$ make利用sqlci

2021-05-14 11:50:55 3198

原创 mac安装brew工具

执行如下脚本/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

2021-04-02 16:56:06 105

原创 android 模拟器进入私有目录

使用run-as命令run-as 后面跟上要进入的私有目录名称

2021-04-02 09:57:24 181

原创 Python计算apk中文件的签名

计算apk中文件签名 allCRC = 0 zipFile = zipfile.ZipFile(os.path.join(os.getcwd(), 'aaa.apk')) for file in zipFile.infolist(): print(file.filename) print(file.CRC) if "resources.arsc" in file.filename: allCRC = allCRC

2021-03-25 15:42:59 381

原创 v1+v2+v3签名和资源混淆

直接用apksigner进行签名apksigner sign --ks (签名地址) --ks-key-alias (别名) --out (签名后的apk地址) (待签名apk地址)使用Jar命令进行签名java -jar apksigner.jar sign --ks (签名地址) --ks-key-alias (别名) --out (签名后的apk地址) (待签名apk地址)直接用apksigner进行验证apksigner verify -v --print-certs (apk地

2021-01-07 18:41:02 917

原创 android移动安全保护

/** * 是否在模拟器中运行 */ fun isRunningInEmualtor():Boolean{ var qemuKernel:Boolean = false var process:Process? = null var os:DataOutputStream? = null try { process = Runtime.getRuntime()

2020-11-02 00:45:46 314

原创 java 实现PBE加密解密

/** * 支持以下任意一种算法 * * <pre> * PBEWithMD5AndDES * PBEWithMD5AndTripleDES * PBEWithSHA1AndDESede * PBEWithSHA1AndRC2_40 * </pre> */ public static final String ALGORITHM = "PBEWITHMD5andDES"; /*

2020-10-30 17:41:27 816

原创 java 实现DH加密解密

public static final String ALGORITHM = "DH"; /** * 默认密钥字节数 * * <pre> * DH * Default Keysize 1024 * Keysize must be a multiple of 64, ranging from 512 to 1024 (inclusive). * </pre> */ private stat

2020-10-30 17:26:33 2344 1

原创 java实现DSA签名、验签

DSA 私钥签名,公钥验签public static final String ALGORITHM = "DSA"; /** * 默认密钥字节数 * <pre> * DSA * Default Keysize 1024 * Keysize must be a multiple of 64, ranging from 512 to 1024 (inclusive). * </pre> */ p.

2020-10-30 16:44:05 621 2

原创 Java实现AES算法

private static final String TAG = "AES"; /** * 加密算法 */ private static final String KEY_ALGORITHM = "AES"; private static final String DEFAULT_CIPHER_ALGORITHM = "AES/ECB/PKCS5Padding";//默认的加密算法 /** * 签名算法 */ publ.

2020-10-30 14:31:44 632 1

原创 java实现MD5加密

/* * Copyright 2016 jeasonlzy(廖子尧) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licens

2020-10-26 16:27:59 1330

原创 java实现RSA加密

准备 公钥:pub.key 公钥:pri.key 私钥import javax.crypto.Cipher;import java.io.DataOutputStream;import java.io.File;import java.io.FileOutputStream;import java.nio.file.Files;import java.nio.file.Paths;import java.security.*;import java.security.spec.PKCS8.

2020-10-26 16:02:45 325 1

原创 java实现DES加密

public class DESUtils { private static String keyStr = "f41087ef"; private static String py = "4cd4bba8"; /** * 加密 * @param data * @return */ public static String encryptString(String data){ try { ..

2020-10-26 15:33:13 436 1

原创 python遍历删除集合元素

1、拷贝删除queue = ['a, 'b', 'c', 'a', 'b']print(queue)for item in queue[:]: if item == 'a' or item == 'b': queue.remove(item) print(queue)2、倒叙删除queue = ['a, 'b', 'c', 'a', 'b']print(queue)for i in range(len(collect) - 1, -1, -.

2020-07-01 10:15:28 796

原创 python安装nltk

nltk官方地址:http://nltk.org安装nltkpip install nltk下载nltk数据包import nltknltk.download()如果下载报错,请到https://github.com/nltk/nltk_data下载,放到usr/local/Cellar/nltk_data词频统计,测试nltk安装pip3 install html5libimport urllib.requestimport sslssl._create_default_.

2020-06-19 16:35:00 418

原创 解决:urlopen error [SSL: CERTIFICATE_VERIFY_FAILED certificate verify fail

response = urllib.request.urlopen('https://blog.csdn.net/qq3401247010/article/details/78135506')html = response.read()报错:urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify fail解决方案:而当目标网站使用的是自签名的证书时就会抛出一个 ur

2020-06-19 16:15:56 10404

原创 实用的工具类

版本号比较/** * 如果版本1 大于 版本2 返回true 否则返回fasle 支持 2.2 2.2.1 比较 * 支持不同位数的比较 2.0.0.0.0.1 2.0 对比 * * @param v1 版本服务器版本 " 1.1.2 " * @param v2 版本 当前版本 " 1.2.1 " * @return ture :需要更新 false : 不需要更新 */ public static boolean co.

2020-06-05 14:30:44 117

原创 查询Android CPU架构

其实,在adb shell命令下面,可以通过getprop的方式,获取到一些信息,比如:generic_x86_arm:/ $ getprop|grep arm[ro.bootimage.build.fingerprint]: [google/sdk_gphone_x86/generic_x86_arm:R/RPP4.200409.015/6455311:user/release-keys][ro.build.fingerprint]: [google/sdk_gphone_x86/generic_x

2020-05-29 15:41:28 702

原创 TextView显示Html和处理链接

<p> 感谢您下载xxxx!当您开始使用本软件时,我们可能会对您的部分个人信息进行收集、使用和管理。请您务必审慎阅读、充分理解“使用服务协议”和“隐私政策”各条款,并确定了解我们对您个人信息的处理规则和您所具有的权利和义务,包括但不限于:<br />为了更好提供xxxx和xxxxx的使用和购买等服务,我们会根据您使用具体功能的需要,收集必要的用户信息。<br ...

2019-12-25 17:37:01 263

原创 java和kotlin实现ECC加密

package dataimport org.bouncycastle.jce.provider.BouncyCastleProviderimport java.nio.charset.Charsetimport java.security.*import java.security.interfaces.ECPrivateKeyimport java.security.interf...

2019-12-13 20:25:25 961

原创 App打开小程序,小程序打开App

App打开小程序(Android)需要以下小程序和app的信息:应用的AppID,小程序的AppID,小程序的原始ID第一步:App所在开放平台关联要跳转的小程序管理中心->移动应用->查看->关联小程序信息->查看关联->关联小程序在搜索框中输入小程序的AppID,点击搜索图标,提交之后,需要再小程序的管理员的微信消息中通过一下即可关联成功!第二...

2019-09-02 17:34:05 2511

原创 android IPV6 访问慢问题解决

之前ios必须得使用ipv6,于是服务器提供ip6访问地址,但是android访问,在4G情况下响应基本上在1s以上,巨慢无比,当时急着上线,也没有顾得上去解决,服务器端直接给了一个ip4的访问地址解决了。经过不断测试,发现每次解析都会收到两个ip地址,ipv6和ipv4,ipv6总是在最前面,会被优先使用,那么我们可以把ipv4放在第一位,让ipv4被使用。public class En...

2019-04-29 11:00:46 4215

原创 排序算法

十大经典排序算法# 冒泡排序def sort(arr): le = len(arr) for i in range(le-1): for j in range(le-1-i): if arr[j] > arr[j+1]: mid = arr[j+1] arr[j+1...

2019-03-27 16:38:35 135

原创 AndroidStudio编译libmp3lame

第一步下载libmp3lame源码。https://sourceforge.net/projects/lame/files/latest/download第二步:赋值libmp3lame和include目录下的所有的扩展名为c和h的文件到AndroidStudio中。#CMakeLists.txt文件:# 这里指定了CMake的最低版本为3.4.1cmake_minimum_req...

2019-03-06 15:47:26 1549 2

原创 CountDownLatch与CyclicBarrier使用与理解

CountDownLatch我之前遇到过这么一个需求:“客户端同时下载视频、音频和大量试题压缩包”。我让线程池分配三个线程同时开启下载三类数据,等到它们都下载完成时再进行数据整合操作。问题来了,如何在没有线程安全问题情况下监听到这三个线程已经都执行完毕了呢?此时CountDownLatch类就是最佳选择。CountDownLatch是一个同步的辅助工具类,允许一个或多个线程,等待其它一组线程...

2019-01-08 16:10:54 817 4

原创 Mac中MySQL 的操作

因为现在是新版本8.0了 ,老版本的修改密码的语法已不再适用,mysql5.7.9以后废弃了password字段和password()函数;mysql&amp;gt;use mysql;mysql&amp;gt;FLUSH PRIVILEGES;mysql&amp;gt;ALTER user ‘root’@‘localhost’ IDENTIFIED BY ‘newpassward’注意,这里的密码要用包含8...

2018-11-26 23:44:16 249 1

Mac版MWeb破解版 Markdown编辑工具

Mac版Markdown编辑工具,Mac版MWeb破解版,很好用的一款Mac环境下的Markdown编辑工具!

2018-05-22

Mac版本2018AIcc版补丁

Mac版本2018AIcc版补丁,Contents->Frameworks替换,就可以免费试用AI了。

2018-05-15

libmp3lame编码解码mp3文件

libmp3lame是第三方开源的编解码mp3的C代码工具,androidstudio可直接引入编译

2018-02-27

MWeb是一款很不错的Markdown编辑器

MWeb是MACOS中一款非常优秀的MarkDown编辑器,MACOS中经常写博客,或者文章最方便最实用的工具。

2018-02-05

android利用FFmpeg为视频加水印

之前有人反馈之前上传的下载不了,我再次上传一次,如果有问题及时给我发邮件,或者可以关注一下我,给我发私信,咱们互相学习!(android端代码,FFmpeg实现为视频加水印, 邮箱:[email protected]

2018-01-11

2017阿里技术年度精选集上下

2017阿里技术年度精选集上册内容为数据库、中间件、运维、开源、技术人生等,下册内容为算法、机器学习、大数据等。

2017-12-19

兼容ie67的兼容汇总

兼容ie6文档汇总,大部分的兼容问题的解决方案都会在这个文档中找到,提高开发效率。

2017-12-18

ksoap2-android.jar最新的

最常用的Android访问WebService开发工具jar包,最新的ksoap2-android3.6.0.jar

2017-10-09

FFmpeg视频转码压缩

android FFmpeg视频转码压缩

2017-08-28

AndroidSDL视频播放

android NDK 利用SDL进行视频播放

2017-08-25

kotlin中文文档

google官网提供的kotlin学习的中文文档

2017-08-25

kotlin官方参考中文文档

kotlin官方中文文档,更快更高效的学习kotlin

2017-08-25

AndroidStudio2.3 CMakeLists.txt配置

CMakeLists.txt配置了FFmpeg的so库,C++11的支持,so库头文件编译支持

2017-08-25

android FFmpeg视频解码为YUV像素数据视频文件以及获取视频基本参数信息

代码中包含了FFmpeg获取视频基本参数信息,FFmpeg视频解码为YUV格式像素数据视频文件,分别使用了老API和新API进行了实现,如有疑问请发邮件:[email protected]

2017-08-25

MediaInfo for Mac

Mac版MediaInfo信息查看工具

2017-08-16

FFmpeg的so动态库,头文件,源码

FFmpeg的so动态库,头文件,源码,直接下载可以使用,不用自己编译

2017-08-16

编译FFmpeg的shell脚本文件

执行脚本,自动下载并编译为so库,支持编译为armv7-a、arm64-v8a、mips、x86、x86_64架构的so库

2017-08-16

黑马面试资料

黑马的面试资料,javase涵盖面较广,很利于复习Java基础。

2014-10-09

W3CSchool.chm

学习HTML、CSS和JSP的开发文档,有讲解有示例,超好用。

2014-10-09

Understand_5.1__macwk.com.dmg

mac中查看源码很方便的工具,类似于windows环境下的Source Inside工具。

2021-10-14

source-archive.zip

Android archive解析PDF源码,含有Android代码,C代码、so动态库,使用很方便,比mupdf要流畅许多!

2020-03-31

bcprov-jdk15on-1.64.jar

ECC 加密工具jar包 bcprov-jdk15on-1.64.jarbcprov-jdk15on-1.64.jarbcprov-jdk15on-1.64.jarbcprov-jdk15on-1.64.jarbcprov-jdk15on-1.64.jar

2019-12-13

ECKeyUtils.kt

ECC加密工具类

2019-12-13

软件-Android移动网络终端的IPv6接入系统设计与实现 .pdf

基于理论讲解的Android ipv6接入实现,软件-Android移动网络终端的IPv6接入系统设计与实现 .pdf

2019-12-13

libmp3lame动态库

可以android开发的libmp3lame.so文件,arm64-v8a、armeabi-v7a、x86、x86_64的都有。将目录粘贴到项目中直接就可以用。

2019-03-06

禁止预加载的ViewPager

禁止预加载的ViewPager类,出自android4.0版本 V4包中,只需要更改“DEFAULT_OFFSCREEN_PAGES”参数,模式是1,更改为0之后可以保证不预加载。

2019-03-06

OpenCV之调用设备摄像头等操作

OpenCV之调用设备摄像头,opencv之图片颜色分离与合并操作,opencv之亮度与对比度处理,opencv操作图片像素----之图像灰度处理,opencv图片腐蚀与扩张,OpenCV之图像滤波处理,OpenCV之图像边缘检测等等。

2018-10-11

北大版高数PDF含有习题答案

北京大学出版的高数课本,包含高数课本和课后习题答案。

2018-09-19

C#像java一样优雅的解析JSON数据

C#的一个解析JSON的工具类,像java一样优雅的解析JSON数据,包含有JSONObject和JSONArray对象。 JSONObject json = new JSONObject(); json.Put("sex", "男"); json.Put("age", 123); json.Put("name", "张三"); JSONArray array = new JSONArray(); array.Put(json); Console.WriteLine(array.GetJSONObject(0).GetString("name")); JSONObject json = new JSONObject("{'sex':'男','name':'张三','data':[{'book':'一本书'},{'book':'二本书'}]}"); Console.WriteLine(json.Get("sex")); Console.WriteLine(json.Get("name")); JSONArray datas = json.GetJSONArray("data"); Console.WriteLine(datas.GetJSONObject(0).GetString("book"));

2018-09-19

libfaac的so库

faac动态库,ndk16以上不支持mips了,所有只编译出了arm64-v8a、armeabi-v7a、x86、x86_64平台的,贡献出来大家一起用。希望给个好评!谢谢啦!

2018-09-07

网页启动app否则下载app

网页启动app,App不存在的话,会跳转应用市场,js编写的代码,简单易用!

2018-07-19

android高斯模糊

android高斯模糊处理工具类,NDK处理和java处理两种方式。

2018-06-22

soundtouch源码

soundtouch类代码,对音频采样数据进行处理,如:变音等。

2018-06-22

android人脸识别Demo

android人脸识别Demo,想学习OpenVC的同学,对人脸识别感兴趣的同学可以下载下来学习一下!详情请查看我的博客:https://blog.csdn.net/xuyankuanrong/article/details/79442548

2018-06-08

OpenSLES播放PCM音频

OpenSLES播放PCM音频Demo,代码详细,注释明了,想学习的请参考我的博客:https://blog.csdn.net/xuyankuanrong/article/details/80472067

2018-06-08

FFmpeg+SDL播放视频

FFmpeg解码视频,并通过SDL来播放视频,学习FFmpeg编辑、学习SDL的同学都可以下载学习。

2018-06-08

NDK中C++使用POSIX线程库调用java

NDK中C++使用POSIX线程库调用java的一个Demo,NDK多线程实现生产者消费者实例。想学习一下的同学,快快下载吧!

2018-06-08

音频拼接多种方式

FFmpeg拼接两种方式、流拼接方式。详情请查看我的博客:https://blog.csdn.net/xuyankuanrong/article/details/79382433

2018-06-08

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除