自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 收藏
  • 关注

原创 Mysql加密连接

通过MySQL客户端和服务器之间的未加密连接,有权访问网络的人可以监视您的所有流量并检查客户端和服务器之间发送或接收的数据。当您必须以安全的方式通过网络移动信息时,未加密的连接是不可接受的。要使任何类型的数据不可读,请使用加密。加密算法必须包含安全元素,以抵御多种已知攻击,例如更改加密消息的顺序或重放数据两次。MySQL支持使用TLS(传输层安全性)协议在客户端和服务器之间建立加密连接。TL...

2018-11-25 15:55:41 4751

原创 Mac编译安装nginx+uwsgi+Django

ngnix下载:http://nginx.org/en/download.html下载nginx:wget http://nginx.org/download/nginx-1.14.1.tar.gz

2018-11-21 23:11:55 802

原创 android查看分区和镜像文件的结构

一、系统分区的的含义,查看,修改1.解决系统adb remount 失败dm_verity is enabled on the system and vendor partitions.Use "adb disable-verity" to disable verity.If you do not, remount may succeed,however, you will still...

2018-11-18 23:34:41 2207

原创 Mac brew install mysql8.0+ 修改登录密码

在mac下安装mysql使用对密码的修改,经常忘记和多次修改以后不知道使用的密码是什么,新安装的mysql使用的是空密码,使用的操作可以解决问题安装mysql:brew install mysqlUpdating Homebrew...Warning: mysql 8.0.12 is already installed and up-to-dateTo reinstall 8.0.12,...

2018-11-18 23:32:06 2518

原创 枚举、动态代理的原理

枚举、动态代理的原理枚举的原理是什么?你说它占内存到底占多少内存呢,如何佐证?public enum Animal {DOG,CAT}看着这代码,完全看不出来原理。不过大家应该都知道java类编译后会产生class文件。越接近底层,本质就越容易暴露出来了。我们先javac搞到Animal.class,然后通过javap命令看哈:javap Animal.class...

2018-08-15 23:52:58 180

原创 Android中为什么在onResume之前(包括onResume)获取不到View的宽高?

Android中为什么在onResume之前(包括onResume)获取不到View的宽高?已知点: 1.View绘制流程的起点是 ViewRootImpl#scheduleTraversals() ; 2.在onCreate里的setContentView中 确定了布局文件中有哪些对象; 3.ActivityThread的main()是应用程序的启动点,且有Activity生命周期的调用...

2018-08-01 10:14:21 1680

原创 FFmpeg在android上多媒体编程

Android下FFmpeg的使用一、什么是FFmpegFFmpg是一个自由软件,可以运行音视频和视频多种格式的录像、转换、流功能,包括Libavcdec这时一个用于多个项目中的音频和视频的解码的解码器库,以及libavformat--一个 音视频与视频格式转换的库FFmpeg官网地址:https://www.ffmpeg.org/FFmpegGitHub地址:https://gi

2018-06-29 16:11:08 257

原创 DroidPlugin源码分析

DroidPlugin插件学习资料整理Android插件化在我们开发的过程中越来越使用的频繁,市面上使用比较多的和团队支持的比较好的主要有一下几个:携程插件化框架ACDD插件化框架360插件化机制Android-Plugin-FrameworkDL APK动态加载框架DynamicLoadApk迁移成本很重:需要使用『that』而

2018-06-29 16:10:28 364

原创 使用C语言实现队列

#include <stdio.h>#include <malloc.h>typedef struct queue_node { struct queue_node* prev; struct queue_node* next; void *p;//节点的值} node;// 表头static node *phead = NULL;static int count = 0;...

2018-06-29 16:09:58 801 1

原创 App开发国内常用的应用市场

360渠道 http://dev.360.cn/豌豆荚 http://developer.wandoujia.com 安智市场 http://dev.anzhi.com/ 百度手助(同步91/安卓市场) http://app.baidu.com/pass/center 小米应用商店 http://dev.xiaomi.com/ 魅族应用商店 http://open.flyme.cn/ 华为智汇云 ...

2018-06-29 11:58:12 2647

转载 视频参数(流媒体系统,封装格式,视频编码,音频编码,播放器)对比

发现了几个视频参数对比的资源,是Wikipedia上的,总结的非常好:流媒体系统对比:http://en.wikipedia.org/wiki/Comparison_of_streaming_media_systems封装格式对比:http://en.wikipedia.org/wiki/Comparison_of_container_formats视频编码器对比:http://en.wikipe...

2018-05-25 15:38:07 290

原创 HTTP的长连接和短连接

HTTP的长连接和短连接一、什么是长连接     HTTP1.1规定了默认保持长连接(HTTP persistent connection ,也有翻译为持久连接),数据传输完成了保持TCP连接不断开(不发RST包、不四次握手),等待在同域名下继续用这个通道传输数据;相反的就是短连接。HTTP首部的Connection: Keep-alive是HTTP1.0浏览器和服务器的实验性扩展,当前的HTTP...

2018-05-05 11:46:22 281

原创 Android-FFmpeg编译生成单一的库

Android-FFmpeg编译生成单一的库通过上一篇文章FFmpeg编译的准备,已经对FFmpeg的基本的知识点了解,由于使用多个库在开发是容易导致很多无法想象的的错误,对项目的维护,配置等一下列的操作都会带来不小的麻烦。项目地址:https://github.com/cangck/FFmpegVedioPlayer这一步是音视频开发集成FFmpeg是耗时最多的工作,也是遇到

2017-09-27 11:21:21 509

原创 Android - FFmpeg & Mac & AndroidStudio & CMake 环境

Android - FFmpeg & Mac & AndroidStudio & CMake 环境搭建要学习FFmpeg在android上的使用,就动手包开发环境搭建出来1.搭建开发环境2.下载FFmpeg源码,配置源码编译环境3.集成FFmpeg源码到项目中,开发FFmpeg Hellowworld一、Google中国版本开发网站下载AndroidStudio相应

2017-09-27 09:50:46 497

原创 FFmpeg在android上多媒体编程

Android下FFmpeg的使用一、什么是FFmpegFFmpg是一个自由软件,可以运行音视频和视频多种格式的录像、转换、流功能,包括Libavcdec这时一个用于多个项目中的音频和视频的解码的解码器库,以及libavformat--一个 音视频与视频格式转换的库FFmpeg官网地址:https://www.ffmpeg.org/FFmpegGitHub地址:https://gi

2017-09-26 17:34:37 289

原创 SurfaceView及TextureView区别

SurfaceView及TextureView区别1、SurfaceView是什么它继承自类View,因此它本质上是一个View。但与普通View不同的是,它有自己的Surface。有自己的Surface,在WMS中有对应的WindowState,在SurfaceFlinger中有Layer。我们知道,一般的Activity包含的多个View会组成View hierachy的树

2017-09-21 10:46:31 740

原创 Mac 配置支持Thinkphp虚拟机

Mac 配置支持Thinkphp虚拟机网上的TP nginx配置没找到一个合适的,所以只好自己写, 就当是学习nginx了.完美支持4种url模式静态文件404不跑fastcgi浪费资源没有多于的IO浪费server { listen 80; server_name thinkphp.lo; root /var/www; index

2017-09-12 13:54:41 350

原创 Mac下卸载Nginx服务器

Mac下卸载Nginx服务器Mac 下使用brew卸载Nginx软件时配置文件和www目录是不会被删除的,有时候需要权限的配置环境作为测试,开发调试的时候不断的修修改改,导致对一下配置没有比较性,1.使用brew info ngnix查看nginx安装是安装文件的地方,这里我们关心两个地方,一个是www目录,另外一个则是配置目录/etc/nginx➜ etc brew info ng

2017-09-12 09:39:32 24495

原创 Mac下配置虚拟主机

Mac下配置虚拟主机mac下配置虚拟主机查看Nginx配置文件路径,在不同的安装环境配置下配置文件的路径不相同➜ nginx brew info nginxnginx: stable 1.12.1 (bottled), devel 1.13.4, HEADHTTP(S) server and reverse proxy, and IMAP/POP3 proxy serverht

2017-08-29 14:55:55 1097

原创 mac下安装Nginx

mac下安装Nginx为什么选择Nginx:Nginx 是一个高性能的 Web 和反向代理服务器, 它具有有很多非常优越的特性:作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率,这点使 Nginx 尤其受到虚拟主机提供商的欢迎。能够支持高达 50,000 个并发连接数的响应,感谢 Nginx 为我们选择

2017-08-29 11:27:07 268

转载 一名全栈工程师的必备工具箱

一名全栈工程师的必备工具箱全栈工程师,也叫全端工程师,是指掌握多种技能,并能利用多种技能独立完成产品的人。全栈工程师熟悉多种开发语言,同时具备前端和后台开发能力,从需求分析,原型设计到产品开发,测试,部署,发布全流程都十分熟悉。全栈工程师由于经常研究各种技术,他不会精确记得所有语言代码的语法和API,他觉得没有Google和百度,几乎没法工作。他记的只是一个Key,一个

2017-08-25 10:13:15 247

原创 ubunt 14 下安装jenkins

jenkins在Ubuntu上的使用最近公司的android开发版本在不同的分支上进行开发,多个版本直接进行脚本管理比较耗时耗力,维护的成本比较高,现在公司引入Jenkins进行部分自动化的工作,apk的一些检查工作,打包发布工作,从而减少了人力的投入,大大降低了成本下面我们使用ppa的方式来开android包:维基百科上对ppa的解释:http://wiki.ubuntu.org.c

2017-08-24 11:26:16 459

转载 Android如何分析ANR

[java] view plain copy print?来自:  http://blog.csdn.net/tjy1985/article/details/6777346  http://blog.csdn.net/tjy1985/article/details/6777355  http://blog.csdn.net/tjy1985/article

2017-08-22 14:48:22 1206

原创 简析android5.0 Camera使用

简析android5.0 Camera使用android5.0提供了新的相机处理的api,我们想上一张图:我们先对整逻辑进行一下梳理,在来一步一步的对源码进行分析,不至于看源码的时候有一种懵逼的感觉:Android5.0新提供的Api中关键的几个类在上图中进行了描述: CameraManager: 管理手机上的所有摄像头设备,它的作用主要是获取摄像头列表和打开指

2017-08-04 14:53:12 1641

转载 Android上玩玩Hook?

Android上玩玩Hook?【转载请标注:http://blog.csdn.net/yzzst】了解Hook还没有接触过Hook技术读者一定会对Hook一词感觉到特别的陌生,Hook英文翻译过来就是“钩子”的意思,那我们在什么时候使用这个“钩子”呢?我们知道,在Android操作系统中系统维护着自己的一套事件分发机制。应用程序,包括应用触发事件和后台逻

2017-07-25 18:15:09 300

转载 无需Root也能Hook?——Depoxsed框架演示

转载请标注:http://blog.csdn.net/yzzst 之前我们介绍过rovo89在Githu上的Xposed框架,我们也介绍了如何使用Xposed框架进行登录劫持,和广告注入。但是,之后很多朋友都在问我,这个Xposed框架使用起来很确实很好用。可是就是有一个巨大的缺点,就是需要Root权限。很多设备都没有Root权限,有没有一个

2017-07-25 18:09:48 553

转载 Xposed源码剖析——hook具体实现

Xposed源码剖析——hook具体实现【转载请标注:http://blog.csdn.net/yzzst】承接上文 http://blog.csdn.net/yzzst/article/details/47829657之前我们看到了xposed各种初始化的工作,其实都是完成了针对系统中各种method的hook和替换工作。那么具体如何替换,其实都是调用了其中的

2017-07-25 17:58:49 410

转载 Xposed源码剖析——Xposed初始化

Xposed源码剖析——Xposed初始化转载请标注:http://blog.csdn.net/yzzst承接上文 http://blog.csdn.net/yzzst/article/details/47829657之前我们看过了app_main.cpp源码,知道了在其中,启动了XposedBridge.jar方法。那么,其中还做了些什么事情呢?之前我

2017-07-25 17:57:05 304

转载 Xposed源码剖析——app_process作用详解

转载请标注:http://blog.csdn.net/yzzstXposed源码剖析——app_process作用详解首先吐槽一下CSDN的改版吧,发表这篇文章之前其实我已经将此篇文章写过了两三次了。就是发表不成功。而且CSDN将我的文章草稿也一带>删除掉了。弄得我现在只有使用sublime写一次,保证它们删不掉。承接上文 http://blog.csd

2017-07-25 17:51:19 571

转载 Xposed源码剖析——概述

XPosed是与Cydia其名的工具,它能够让Android设备在没有修改源码的情况下修改系统中的API运行结果。我们通常称之为:God Mode(上帝模式)。之前享大家分享了Xposed的基础,Xposed的作用和最简单的用法。那么,它的原理和它的内部构造是如何构成的?下面,我们从Github上看看,rovo89大神是如何制作的。rovo89的github地址:https://g

2017-07-25 17:44:18 239

转载 Android Hook神器——XPosed入门(登陆劫持演示)

【转载请标注:http://blog.csdn.net/yzzst】前段时间写了一篇有关于CydiaSubstrate的广告注入的文章(地址:http://blog.csdn.net/yzzst/article/details/47318751),大家都直呼过瘾。但是,真正了解这一方面的同学应该这道,其实还有一个比CydiaSubstrate更出名的工具:XPosed。不是因为Xp

2017-07-25 17:42:14 497

原创 AndroidStudio打包jar包

AndroidStudio打包jar包androidstudio开发好了library之后,我们需要到jar都出如何提供给其他人使用:在库中的build.gradle中配置当前的jar的脚本文件task makeJar(type:org.gradle.api.tasks.bundling.Jar) {//指定生成的jar名 baseName 'sdk'//从哪里打包clas

2017-07-20 14:25:30 1382

原创 Rxjava中异常处理

Rxjava中异常处理rxjava中的异常处理:rxjava中的异常处理分为两类:1.当遇到错误时返回指定的的数据2.当遇到错误时使用重试机制Checked异常和Unchecked异常Checked异常必须被显式地捕获或者传递,而unchecked异常则可以不必捕获或抛出。Checked异常继承java.lang.Exception类。Uncheck

2017-07-19 23:20:11 1581

原创 rxjava scan 与reduce区别

Rxjava scan 与reduce区别scan和reduce都是把操作的观察序列的上一次操作的结果做为第二次的参数传递给第二次Observable使用,但两者有区别:        scan:每次操作之后先把数据输出,然后在调用scan的回调函数进行第二次操作reduce:把所有的操作都操作完成之后在调用一次观察者,把数据一次性输出Observable.rang

2017-07-18 15:19:48 2670

原创 JsonArray转换为List

JsonArray转换为List服务器返回数据时返回的字符串不是对象而是一个数组时,我们在解析时使用到的Javabean时,不能直接使用Bean.class的方式来使用Gson直接转换为对象,服务器的同事说只能使用手工解析了,当时一脸懵逼的感觉,下面的字符串是精简过了的,正常的字符串有差不多一百个字段,办法总是有的,程序员的习惯,只是在每一次做体力活的时候,总是有一种想法,就不能简单点吗?下班

2017-07-14 13:32:16 1530

原创 Android测试框架

Android开发测试下面引用官方对测试框架的定义:Testing your app is an integral part of the app development process. Testing allows you to verify the correctness, functional behavior, and usability of your app befo

2017-07-13 09:06:06 250

原创 android 6.0 源码目录

##android6.0源码目录简单分析######目录abi ==>应用程序二进制接口    定义:应用程序和操作系统之间、一个应用和它的库之间、应用的组成部分之间的低接口        ABI与API的区别:        API定义了源代码和库之间的接口        1、同样的代码可以在支持API的任何系统中编译        2、ABI允许编译好的目标

2017-07-12 22:53:07 439

原创 Android MultiDex实现原理解析

Android MultiDex实现原理解析调用MultiDex的方式有多种,不论是直接使用官方提供的MultiDexApplication,还是继承MultiDexApplication,或者是重写自定义Application的attachBaseContext方法,最后都会调用到MultiDex.install(this);:@Overrideprotected void

2017-06-19 15:00:20 1364

原创 JNI的引入和加载过程

JNI的引入和加载过程一般情况下,我们不需要关心so。但是当APP使用的第三方SDK中包含了so文件,或者自己需要使用NDK开发某些功能,就有必要去好好了解下so的一些知识。什么是ABI和so早期的Android设备只支持ARMv5的CPU架构,随着Android系统的快速发展,搭载Android的硬件平台也早已多样化了,又加入了ARMv7,x86,MIPS,ARM

2017-06-17 10:28:03 1409

原创 JNI开发

AndroidStudio JNI开发学习了JNI开发的一些总结快速入门:https://developer.android.google.cn/ndk/guides/index.html官网JNI开发入门 为什么要在app开发中使用JNI原生开发工具包 (NDK) 是一组可让您在 Android 应用中利用 C 和 C++ 代码的工具。 可用以从您

2017-06-17 09:04:22 266

空空如也

空空如也

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

TA关注的人

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