- 博客(99)
- 资源 (27)
- 收藏
- 关注

原创 webrtc 快速搭建 视频通话 视频会议 (亲测半个小时搭建成功)
1.前置条件首先你需要有一台linux服务器,windows的也可以,请自行搞定需要安装nodejs环境,注意版本不能太低,nodejs 官网 : https://nodejs.org/en/download/如遇问题请找:https://github.com/nodejs/help/wiki/Installationopenssl,这个玩意应该不用说了git 这个也不...
2019-01-10 12:46:47
69235
115
原创 Android studio快捷键整理(mac)
文章目录Android studio快捷键整理(mac)1. mac上按键符号⌥ : `option / alt`⇧ : `shift`⌃ : `control`⌘ : `command`⎋ : `esc`2. 查找/查看相关搜索任意内容当前文件查找/替换全局搜索类全局搜索类/方法/参数打开最近访问的文件列表类/方法在全局项目中引用情况类/方法在当前文件中引用情况方法被调用层级结构查看接口的实现跳转至超类的方法跳转至第几行返回到上次编辑位置当前编辑的文件中结构快速导航列出函数方法一系列的有效参数跳转至错误或
2021-09-02 20:44:29
738
原创 音视频基础——视频基础知识
感情中特能折腾的人,很多都是之前恋情里受过创伤的人。人总有一种“补偿情结”,希望把之前吃过的亏在日后一股脑儿地补回来。那些陈年旧帐就这样算到了新人头上。殊不知,成熟的爱,是伤口处开出的玫瑰。容得下委屈的,才留得住真爱。——苏芩一、视频格式我们经常在各大视频网站上(如哔哩哔哩、腾讯视频)观看视频,我们也经常在电影天堂上下载电影,我们偶尔会把他们保存到本地,我们会看到我们保存的文件格式都是.avi、.mp4、.mkv之类的文件,我们在网络直接观看就是观看的视频流,保存到本地的文件都是各种视频文件本地视.
2021-01-24 18:21:18
846
原创 音视频基础——音频基础知识
爱情只有落实到穿衣、吃饭、数钱、睡觉,这些实实在在的小事上,才可以长久一、声音的三要素1. 音调人耳对声音高低的感觉称为音调(也叫音频)。音调主要与声波的频率有关。声波的频率高,则音调也高。当我们分别敲击一个小鼓和一个大鼓时,会感觉它们所发出的声音不同。小鼓被敲击后振动频率快,发出的声音比较清脆,即音调较高;而大鼓被敲击后振动频率较慢,发出的声音比较低沉,即音调较低。一般音频 儿童>女生>男生。人耳听觉音频范围是20Hz-20000Hz(做音频压缩时不在这个范围内的数据就可以砍掉)。.
2021-01-08 11:22:50
2364
1
原创 Android性能优化——内存泄漏优化
JAVA虚拟机——运行时内存 Java虚拟机在执行Java程序的过程中会在内存空间中分配出一块区域,用于程序的运行。虚拟机又会把这块所管理的内存划分为若干个不同的数据区域。这些区域分为两大块,一个是共享数据区,一个是线程私有。其中共享数据区包括方法区和堆,线程私有区包括程序计数器 PC,虚拟机栈和本地方法栈。共享数据区方法区:存储已被虚拟加载的类信息,常量,静态变量,即时编译后的代码...
2020-12-09 10:50:37
289
原创 AOSP系列—阅读源码并熟悉AOSP目录结构
**再如何不可思议的事情,一旦做的次数多了,便会习惯直至麻木甚至开始乐在其中。 --猫腻 《将夜》文章目录目录解析1. build2. frameworkAndroid做的久了,有些东西自然而然就要了解 一些。对于Android系统源码来说,我们可能不需要改动它,但读懂它还是有必要的。这里先放上几个查看源码的地址AOSPXRef 这个地址是阿里云的,感觉起来会比较快,而且已经更新...
2019-12-14 17:43:05
8464
2
原创 Linux 端口和防火墙相关
如果有一天:你不再寻找爱情,只是去爱;你不再渴望成功,只是去做;你不再追求空泛的成长,只是开始修养自己的性情;你的人生一切,才真正开始。——纪伯伦linux操作系列文章Linux网络配置 (centos,ubuntu)Linux常用工具安装Linux-nc命令详解Linux-端口和防火墙相关文章目录端口相关1. 列出正在使用的端口2. 找出程序运行的端口firewalld防火墙...
2019-11-28 18:01:25
475
原创 Linux nc命令进阶使用
世间万般皆苦,明目张胆的偏爱便是救赎linux操作系列文章Linux网络配置 (centos,ubuntu)Linux常用工具安装Linux-nc命令详解Linux-端口和防火墙相关文章目录前言安装和简介使用实例1. 检测端口是否通2. 端口扫描3. 简单聊天工具4. **远程拷贝文件**5. 传输目录6.克隆硬盘或分区前言NetCat,在网络工具中有“...
2019-11-28 18:00:28
727
原创 Linux常用工具安装
你要做一个不动声色的大人了。不准情绪化,不准偷偷想念,不准回头看,去过自己另外的生活了。你要听话,不是所有的鱼都会生活在同一片海里。linux操作系列文章Linux网络配置 (centos,ubuntu)Linux常用工具安装Linux-nc命令详解上一篇讲到Linux的网络配置,这一篇主要写网络配置配置完了之后一些常用工具的安装centos中我们常用的安装源是yum,这里针对...
2019-11-27 10:59:37
533
原创 Linux网络配置 (centos,ubuntu)
(郭襄)心想:“便是刻在石碑上的字,年深月久之后也需磨灭,如何刻在我心上的,却是时间越久反而越加清晰。”文章目录前言CentOSUbuntu18.04前言作为Android开发者,我们工作中难免会用到linux来进行操作,下面介绍下安装linux之后的网络配置,有了网之后才能搞事情嘛!centos和ubuntu有一丢丢的不一样,下面会详细Linux网络配置写,反正就当记下来当笔记了C...
2019-11-26 18:33:43
444
原创 gradle系列——gradle操作文件详解
我们的疲劳通常不是由于工作,而是由于忧虑,紧张和不快——戴尔·卡耐基我们在Android开发中经常会进行文件相关的操作,我们对gradle文件操作做一个说明,以便于将来见到这些命令知道是干啥的文章目录本地文件文件集合文件树文件拷贝归档文件参考链接本地文件gradle中操作本地文件使用的是 Project.file(java.lang.Object)方法, 通过指定文件的相对路径或者绝...
2019-11-26 10:14:44
1166
原创 gradle系列—— Copy任务 Task高级用法
今日名言我们每天都在经受巨大的痛苦,而最大的痛苦就是不被人理解文章目录导读配置任务导读通过上一节gradle系列——Task任务简单使用 我们知道了gradle中Task的简单使用,比如如何给任务添加行为,如何为任务设置依赖关系,下面我们开始针对Copy任务来详解Task的高级用法在开发的过程中,我们见过很多种定义任务的方式,不要奇怪,gradle的语法比较松散,基本上有这些方式定...
2019-11-21 17:00:47
4600
原创 gradle系列——Task任务简单使用
今日名言迷茫就是才华配不上梦想工程和任务在 Gradle 的世界中最重要的两个概念就是:工程( Project )和任务( Task )。每一个 Gradle 的项目都会包含一个或多个工程,而每一个工程的职责又取决于我们对这个工程的定义,比如:一个工程可能是公共的 JAR 库,或者是一个 WEB 的应用程序,也可能是一个用于发布部署的 ZIP 包,而这个 ZIP 包又是通过其它工程编译...
2019-11-21 15:53:08
542
原创 根据图片头标识判断图片格式
今日名言生命中最重要的是什么?我们真的要为了买间大房子,买台好车,买华美的家具,当季的衣服,提名牌包,吃大餐…而不断卖命工作吗?上班真的很辛苦,把40年最精华的青春岁月奉献给工作,用宝贵的人生去换回这些可能过几年就变成垃圾的物品,值得吗? ——《不上班也有钱》前言之前在做即时通讯的时候使用ndk编写了一个图片压缩库,在判断图片格式的时候卡了壳,本来打算用后缀名进行区分JPG和PNG或者B...
2019-11-20 14:48:34
283
原创 Gradle系列——Gradle和Gradle Wrapper
学会节制,才能不受内心欲望的控制和摆布。学会节制,才能真正地管理和主宰自己的人生。Gradle目录结构新建一个工程,我们会见到多个文件和文件夹[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zjOkPwyC-1574219793532)(image\gradle1.png)]精简后主要包括三个目录,一个 gradle 配置文件,具体介绍如下:.gra...
2019-11-20 11:16:48
212
原创 Gradle系列——gradle入门
文章目录1. 为何使用Gradle依赖管理2. 强大的任务功能3. 灵活的代码结构4. 丰富的插件选择5.易于扩展的自定义插件6. Gradle 和 Ant 以及 Maven 的关系1. Ant2. Maven3. Gradle7. 小结1. 为何使用Gradle工欲善其事必先利其器, 我们想要更高率的项目开发,就需要更方便的项目编译构建工具。 我们使用eclipse的时候使用的是ant,后...
2019-11-20 10:29:04
222
原创 直播开篇——直播场景和技术分析
文章目录一、直播场景和技术分析1. 直播场景分析2. 常见传输形式3. 对于低延时的直播需求4. 短延时直播VS实时音视频通信5. 关于技术选型6. 为什么不选择TCP二、关于直播中问题和分析1. 秒开问题2. 平滑发送机制3. 播放端的优化4. FEC冗余传输5. 探活策略参考链接一、直播场景和技术分析1. 直播场景分析秀场直播这个不用说,在各个直播平台都存在的形式游戏直播像...
2019-11-02 12:40:20
3991
原创 JNI AES加解密 c++和java互通详解
文章目录1. 前言2. JNI实现3. JAVA实现代码收录1. 前言AES加密标准又称为高级加密标准Rijndael加密法,是美国国家标准技术研究所NIST旨在取代DES的21世纪的加密标准。AES的基本要求是,采用对称分组密码体制,密钥长度可以为128、192或256位,分组长度128位,算法应易在各种硬件和软件上实现。AES加密数据块和密钥长度可以是128b、192b、256b中的...
2019-10-26 15:31:47
2345
6
原创 关于Android学习的一些思考
前言从14年开始学习Android,到现在已经过去了5年的时间,从刚开始使用eclipse写Android小应用来应付课程设计到现在能够带领团队制作一款真正意义上的大应用,中间真真实实经历着各种各样的变化,正值1024之际,写写自己的感受,也给刚入坑的小伙伴们一点建议和思考关于技术关于技术我想说的比较多,可能也是因为我自诩为一个技术爱好者。在校的时候是一个乖乖的好学生,在家的时候是一个乖乖的...
2019-10-24 22:25:11
341
3
原创 使用clang编译openssl1.1.1d
使用clang编译openssl1.1.1dopenssl下载地址https://www.openssl.org/source/openssl-1.1.1d.tar.gzndk要使用r19以上ndk各个 版本的下载地址https://blog.youkuaiyun.com/u011077027/article/details/102706283使用clang编译 要设置ANDROID_API>...
2019-10-23 23:17:09
2693
1
转载 NDK各版本下载
翻不了墙的话,可以用迅雷下载最新版本r20https://dl.google.com/android/repository/android-ndk-r20-windows-x86.ziphttps://dl.google.com/android/repository/android-ndk-r20-windows-x86_64.ziphttps://dl.google.com/androi...
2019-10-23 17:19:36
5720
原创 Jni json处理 parson的高级使用
Jni json处理 parson的使用构造jsonextern "C" JNIEXPORT jstring JNICALLJava_com_dds_parson_Parson_test( JNIEnv *env, jclass clazz) { char *serialized_string = 0; // 包装一段jsonObject ...
2019-10-23 09:45:35
1328
原创 Android 如何优雅的hook私有方法
Android 如何优雅的hook私有方法最近在使用java写反射进行hook系统的方法,但是每次都会写一长串代码,各种try catch,着实让人的着急,偶然间想起来从一个开源库里看到的一个类,当时没看懂,就保存了下来,现在回头看看居然很有意思Hack.java就是这个类有几大特性链式调用简洁,清晰下面我们来看这个类的使用方法首先放一个类,咱们就来hack这个类packag...
2019-10-18 18:38:26
2512
原创 Python3.7 ModuleNotFoundError:No module named "Crypto" 终极解决方案
原因及处理:在使用python是经常会用到import一个第三方库,但是有时候会提示某个模块不存在,如Crypto其实是因为Python3里面这个模块的名字变了,pip install pycrypto安装成功后,如果还是提示没有该模块,那就python3的安装目录Lib—-site-package中查看是否有Crypto文件夹,这时你应该看到有crypto文件夹,将其重命名为Cryp...
2019-10-17 19:39:41
2984
原创 实现一个病毒扫描app——python爬取病毒样本
实现一个病毒扫描app——python爬取病毒样本文章目录开篇再开篇正篇开篇最近闲来无事,准备做一个病毒扫描的app,那么从哪里开始呢?首先来分析下一般的查杀步骤都有哪些基于黑白名单的查杀这种是有一个庞大的数据库,里面放着各个厂商扫出来的病毒样本,里面放着病毒文件md5/病毒各种信息只需要将你的包名或者签名或者文件md5传进去就能辨别是不是有毒基于特征码的扫描这种就是有一...
2019-09-30 16:16:17
2624
3
原创 git合并多个commit成一个commit
git合并多个commit在我们项目开发过程中,使用到git作为版本控制的工具,在使用git的过程中我们会遵循一个原则“让每次提交都是一次有质量的提交”在遵循这个原则的过程中,我们需要注意下面几个点每一次的提交都是一个小功能点或者是一次bug fix ,这样能够让你的代码回溯变得更加清晰和优雅关于说明:一句简练的话作为第一行,然后空出一行阐述增加的文件和修改的地方在本地完成功能之后再...
2019-09-19 15:11:33
5859
原创 Android 生成PKCS12并导入证书
Android 生成PKCS12并导入证书上回写到生成pkcs10证书传到后台,这篇主要写将签名后的证书导入到PKCS12中去 // 生成KeyPair public static KeyPair generateKeyPair() throws NoSuchAlgorithmException { KeyPairGenerator keyPairGenerator...
2019-09-15 08:59:47
4031
原创 Android 生成PKCS10请求(csr)
Android 生成PKCS10请求(csr)在做到自签名的SSL的双向认证的时候,客户端需要生成p10请求传给服务器,服务器签名之后返回PKCS7证书信息,客户端使用本地密钥和PKCS7证书的合成PKCS12证书,就可以进行双向认证了,这里记录下p10证书的生成过程引入三方jar包// 这个是加解密相关的包implementation group: 'org.bouncycastle',...
2019-09-14 23:40:33
2338
原创 keytool命令详解 自签名证书
keytool命令详解文章目录keytool命令详解keytool简介keytool功能其他命令最近是又用到了自签名证书相关的内容,这里整理下keytool的使用keytool简介Keytool 是一个Java 数据证书的管理工具 ,Keytool 将密钥(key)和证书(certificates)存在一个称为keystore的文件中。在keystore里,包含两种数据:密钥实体(...
2019-09-11 11:37:29
5393
原创 优雅的解决Android6.0运行时权限问题
如何优雅的解决Android6.0运行时权限问题文章目录代码收录之前遇到6.0运行时权限问题的时候每次都要写一次requestPermissions和checkPermission或者shouldShowRequestPermissionRationale,然后在Activity的onRequestPermissionsResult的回调里的处理结果,每次都好烦。看了第三方的请求权限的封装,...
2019-09-10 11:42:55
1845
原创 MD5加密方式和MD5加密后的类型(16位和32位)
文章目录1. 加密方式2. 加密后的格式代码收录1. 加密方式MD5一般的加密方式是下面这种方式 public String Md5(String str) { if (str.equals("")) { return null; } try { byte[] btInput = str.g...
2019-09-09 11:09:17
9297
原创 webrtc系列3——对于stun和turn的理解
文章目录对于stun和turn的理解1. SDP协议2. 地址转换NAT3. candidatestunTURNICE对于stun和turn的理解在介绍turn和stun之前我们先来了解几个概念会话描述协议 SDP(Session Description Protocol )网络地址转换 NAT (Network Address Translation)网络协商 candidate...
2019-09-03 08:05:51
12114
3
原创 webrtc系列2——认识depot_tools
我们要下载webrtc的代码必须要使用depot_tools这个工具,至于为什么,下面来介绍文章目录depot_tools简介depot_tools安装linux/macwindowsdepot_tools使用depot_tools简介depot_tools是个工具包,里面包含gclient、gcl、gn和ninja等工具,这些根据都是使用python写的其主要的功能是对git的增强,让代...
2019-08-23 19:03:43
3812
1
原创 webrtc系列1—— webrtc入门知识
文章目录1. 什么是WebRTC2. WebRTC框架介绍详细组件介绍3. 模块细致讲解国内方案厂商WebRTC发展前景文章借鉴:1. 什么是WebRTCWebRTC,名称源自网页即时通信(英语:Web Real-Time Communication)的缩写,是一个支持网页浏览器进行实时语音对话或视频对话的API。它于2011年6月1日开源并在Google、Mozilla、Opera支持下被纳...
2019-08-20 13:22:11
7942
3
原创 c语言JSON库 Parson的编译和使用
c语言JSON库 Parson的编译和使用最近一直学习ndk,Android肯定会用到json,这里介绍一个c语言写成的JSON解析库Parson介绍Parson is a lighweight json library written in C.c语言中使用的一个轻量级的json库特点:Full JSON supportLightweight (only 2 files)Sim...
2019-08-19 20:21:34
2536
原创 GmSSL Android 交叉编译 多平台
文章目录环境准备开始编译收录代码最近没事就编译了一下openssl的国密支持项目GmSSL,将其移植到Android端环境准备gcc , g++,make,python这些必须都有的,ndk的版本也是有限制的,之前我使用ndk17编译的版本某些方法会崩溃,也不知是什么原因所以我们选择ndk版本比较低的,比如,ndk-r10e-linux-x86_64,我暂时使用的是android-ndk...
2019-08-16 16:02:51
1525
原创 NDK 封装日志库 写到文件
文章目录需求定位定义方法和变量编写代码大功告成需求定位我们一般用jni都是封装一些库供Android调用,其中有一项就是日志打印,需要控制台输出,还需要文件输出日志,以便于查看客户端使用情况,如果有bug,也可以快速定位初步需求如下供c++代码调用控制台输出文件输出(可控制文件大小)可设置日志等级定义方法和变量定义日志输出等级enum { LOG_LEVEL_NON...
2019-08-14 18:15:15
889
原创 kotlin学习系列1 —— 认识kotlin
kotlin学习系列 —— 认识kotlinkotlin可能也是google要统一编码界的一次尝试,我们从官网可以看到kotlin的一些支持情况,包含服务器端、Android、javaScript、Native,以及一些别的领域,野心足够大,我们也学的比较累原文 : Using Kotlin for Android Development*Kotlin 是非常适合用于开发Android应用的...
2019-07-30 10:22:56
291
原创 Android手撸数据库系列——多用户分库的实现
做即时通讯做的久了,老是想着各种优化的问题而数据库优化可以让app变的飞快,同时让开发更简单前面已经有两篇Android徒手撸数据库系列——注解与反射数据库关系模型Android徒手撸数据库系列——实现单表的增删改查下面主要介绍多用户数据库的分库实现1. 新建总控用户User@DbTable("tb_user")public class User { @DbFi...
2019-07-16 14:48:54
1863
depot_tools.zip
2019-08-23
JobScheduler合并任务流.zip
2019-06-14
android图片轮播第二弹_解耦型图片轮播
2016-04-22
Nohttp封装,soap封装
2016-03-18
android请求webservice需要的soap工具封装
2016-02-24
图片轮滑类似淘宝广告
2016-01-30
ksoap2-android-assembly-3.3.0-jar-with-dependencies
2016-01-25
SQLserver图书馆管理系统
2016-01-17
asp.net在线博客系统源码+报告
2016-01-10
asp.net校友录源码和报告
2016-01-10
html课程设计-510精品代购店
2016-01-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人