- 博客(53)
- 资源 (101)
- 收藏
- 关注
原创 Android反射MediaPlayer的getAudioStreamType()私有方法(一百零七)
import android.media.AudioManager;import android.media.MediaPlayer;import java.lang.reflect.Method;try { MediaPlayer mPlayer = new MediaPlayer(); Class clazz = Class.forName("android....
2020-03-30 17:24:28 694
转载 jenkins执行本地/远程shell脚本
1. 执行 本地 shell命令或者脚本2. 执行远程机器的命令或者脚本。1. 执行 本地 shell命令或者脚本是在一个构建中的 bulid 选项卡。执行本地中的一个脚本执行一个命令2. 执行远程机器的命令或者脚本。2.1 ssh 插件要安装好2.2 添加一个 用于远程的证书在jenkins首页 点击Credentials进入如下页面...
2020-03-29 11:56:13 7213 1
原创 Mac安装jenkins
1.第一种方式(可能下载失败)# brew install jenkins # 安装# brew services start jenkins # 启动# brew uninstall jenkins # 卸载2.第二种方式jenkins下载地址# java -jar jenkins.war在浏览器访问jenkinshttp://127.0.0.1:8080/...
2020-03-28 10:49:44 279
原创 解决Mac网速越来越慢(飞一般的感觉)
--->系统偏好设置 --->网络 --->高级 --->硬件 --->配置改为:手动 --->MTU改为:1485
2020-03-27 09:58:17 7528
原创 Python3.6读写串口操作
#coding=utf-8import serial # pyserialdef str_to_hex(s): return ' '.join([hex(ord(c)).replace('0x', '') for c in s])def hex_to_str(s): return ''.join([chr(i) for i in [int(b, 16) for b in...
2020-03-25 19:28:40 1920
转载 写给小白的实时音视频技术入门提纲
1、前言这是由一篇我的演讲稿整理出来的文章,目标读者是对实时音视频开发感兴趣但是又不知道如何下手的初学者们,希望把我的经验分享出来,对大家有所帮助。学习交流:- 即时通讯开发交流3群:185926912[推荐]- 移动端IM开发入门文章:《新手入门一篇就够:从零开发移动端IM》(本文同步发布于:http://www.52im.net/thread-1620-1-1.html)...
2020-03-25 13:08:23 873
转载 Linux ALSA驱动框架(一)--ALSA架构简介--声卡的创建
(1)ALSA简介(1)NativeALSAApplication:tinyplay/tinycap/tinymix,这些用户程序直接调用alsa用户库接口来实现放音、录音、控制ALSALibraryAPI:alsa用户库接口,常见有tinyalsa、alsa-libALSACORE:alsa核心层,向上提供逻辑设备(PCM/CTL/MIDI/TIMER/…)系统调用,...
2020-03-23 18:33:19 1323
转载 计算机专业的书普遍都这么贵,你们都是怎么获取资源的?
介绍几个可以下载编程电子书籍的网站。1.GithubGithub上编程书资源很多,你可以根据类型和语言去搜索。推荐几个热门的:free-programming-books-zh_CN:58K 星的GitHub,编程语言、WEB、函数、大数据、操作系统、在线课程、数据库相关书籍应有尽有,共有几百本。Go语言高级编程:涵盖CGO,Go汇编语言,RPC实现,Protobuf插件实现,Web...
2020-03-23 17:11:20 592
原创 Android7.1以上PRODUCT_COPY_FILES拷贝失败解决
1.emacs Android.mk$(warning $(TARGET_OUT_APPS)/123)$(warning $(LOCAL_PATH)/test)#$(shell mkdir -p $(TARGET_OUT_APPS)/123)//将本目录下test文件夹拷贝到out/.../system/app/123目录下$(shell cp -rf $(LOCAL_PATH)/t...
2020-03-20 15:51:44 2153 1
转载 ALSA & ASOC
1ALSA1.1架构简述ALSA是Advanced Linux Sound Architecture的缩写,官网:http://www.alsa-project.org.在内核设备驱动层,ALSA提供了alsa-driver.同时在应用层,ALSA为我们提供了alsa-lib,应用程序只要调用alsa-lib提供的API,即可以完成对底层音...
2020-03-20 13:40:29 1482
转载 Android BINDER详解
1.进程间通信的本质(2个进程)用户空间的进程如果想相互通信,必须经过内核,因为不同进程的用户地址空间是独立的,但是共享同一个内核空间.内核为了支持进程间通信,一般会有一个驱动,以字符设备的形式存在(也可以是其它形式,这个驱动的本质就是在不同的进程间传递数据).两个进程间通信一般以client/server的形式进行,大致流程如下:ser...
2020-03-20 13:37:39 1751
原创 Android9.0 Android.bp添加宏开关demo
1.test.cpp#define LOG_TAG "test_demo"#include <stdlib.h>#include <stdio.h>#include <utils/Log.h>int main(){#ifdef DEBUG ALOGE("Android.mk is define DEBUG"); printf("Andro...
2020-03-19 19:31:37 1396 1
原创 Android通过堆栈信息解决ANR问题(八十三)
1.java进程# kill -3 pid 适用于java进程,如system_server进程. 执行命令后,会在/data/anr目录生成trace文件.2.native进程# debuggerd -b pid 适用于native进程,如audioserver进程. 执行命令后,直接在终端输出进程的堆栈信息....
2020-03-18 21:32:29 1161
原创 shell之解析xml文件(九)
1.test.xml<?xml version="1.0" encoding="UTF-8"?><license> <pos>中国,福建,福州市,鼓楼区</pos> <pos>中国,福建,福州市,鼓楼区</pos> <installid>123123</installid> <...
2020-03-18 19:08:36 2489
转载 Android编译系统介绍
1. 编译系统变化Android 最初是用 Android.mk 来定义模块的, Android.mk 本质上就是 Makefile。随着 Android 工程越来越大,包含的模块越来越多,以 Makefile 组织的项目编译花费的时间越来越多。google 在 Android 7.0 开始引入了 ninja 编译系统。相对于 make 来说 ninja 在大的项目管理中速度和并行方面有突出的...
2020-03-18 15:56:11 1659
原创 ckati与ninja构建demo
1.编译出ckati工具# git clone https://github.com/google/kati# make -j8# sudo cp ckati /usr/local/bin2.ckati与ninja构建过程<1>.内容一致(注意:ckati默认找Makefile,可以ckati -f Android.mk指定)# emacs Android.mk or ...
2020-03-18 15:08:57 995
原创 cmake与ninja构建编译(二)
1.安装ninja cmake# sudo apt install cmake ninja2.demo# emacs main.cpp#include <iostream>int main() { std::cout << "Hello, Ninja!" << std::endl; return 0;}# emacs CMakeLis...
2020-03-17 21:57:20 8970
原创 Makefile、.mk、.bp、Blueprint、Soong、kati工具链的关系
生成.ninja工具链关系:Android.bp、Blueprint、Soong、kati:总之都是用来把Makefile、.bp、.mk生成.ninja的,只是用了不同的工具生成而已.1.Android.bp --> Blueprint --> Soong --> Ninja2.Makefile or Android.mk --> kati --> Ninj...
2020-03-16 19:01:07 1136
原创 Fuchsia之GN与Ninja构建hello world
接上篇:Fuchsia中GN与Ninja构建过程1.环境搭建# cp -rf out/ ~/home/GN //将编译出来的out目录的gn都拷贝出来# export PATH=$PATH:~/home/GN/out# cp -rf gn/examples/simple_build/build ~/home/GN/myApp# cp gn/examples/simple_bui...
2020-03-16 18:48:59 836
原创 Fuchsia中GN与Ninja构建demo
# sudo apt-get install clang# git clone [email protected]:MeekJeen/GN.git //解压# cd GN# python3 build/gen.py //本目录下生成out目录# ninja -C out //生成gn# cd examples/simple_build# ../../out/gn gen out/defau...
2020-03-16 18:30:10 579
转载 Clang与LLVM的关系
LLVM是构架编译器(compiler)的框架系统,以C++编写而成,用于优化以任意程序语言编写的程序的编译时间(compile-time)、链接时间(link-time)、运行时间(run-time)以及空闲时间(idle-time),对开发者保持开放,并兼容已有脚本。LLVM计划启动于2000年,最初由University of Illinois at Urbana-Champaign的Chr...
2020-03-16 16:04:52 1290
原创 C++成员变量初始化列表中初始化顺序(七十)
1.C++使用初始化列表初始化时,成员变量的初始化顺序:只与定义变量的顺序有关.#include <iostream>using namespace std;class A{private: //结论:成员变量在使用初始化列表初始化时,与构造函数中初始化成员列表的顺序无关,只与定义成员变量的顺序有关; //第一种情况; //int n1;//先定义成员变量n1,先...
2020-03-15 01:06:34 813
原创 C++多继承构造和析构顺序(六十九)
结论:C++类的多继承中,构造函数的执行顺序便与“继承声明”顺序相同。#include<iostream>using namespace std;class C{public: C(){cout<<__FUNCTION__<< "() "<< " line = " << __LINE__ <<endl;}...
2020-03-15 00:00:57 1900
原创 初始化与赋值哪个效率高?
初始化定义:指创建变量并给它赋初始值。赋值定义:擦除对象的当前值并用新值代替。int a = 4;//直接初始化,a = 5;//赋值初始化总结:赋值初始化和直接初始化对比,直接初始化的效率很高。...
2020-03-14 22:09:21 657
转载 Linux虚拟内存那点事儿
概述我们都知道一个进程是与其他进程共享CPU和内存资源的。正因如此,操作系统需要有一套完善的内存管理机制才能防止进程之间内存泄漏的问题。为了更加有效地管理内存并减少出错,现代操作系统提供了一种对主存的抽象概念,即是虚拟内存(Virtual Memory)。虚拟内存为每个进程提供了一个一致的、私有的地址空间,它让每个进程产生了一种自己在独享主存的错觉(每个进程拥有一片连续完整的内存空间)。...
2020-03-14 21:36:48 376 1
转载 linux缓存机制buffer/cache/swap
1)缓存机制介绍 在Linux系统中,为了提高文件系统性能,内核利用一部分物理内存分配出缓冲区,用于缓存系统操作和数据文件,当内核收到读写的请求时,内核先去缓存区找是否有请求的数据,有就直接返回,如果没有则通过驱动程序直接操作磁盘。 缓存机制优点:减少系统调用次数,降低CPU上下文切换和磁盘访问频率。 CPU上下文切换:CPU给每个进程一定的服务时间,当时间片用完后,内核从正在运行的进程中收回处理...
2020-03-14 20:53:52 310
原创 Linux之内存buffer和cpu cache的区别(十四)
1.cache 和 buffer的区别cache是高速缓存,用于CPU和内存之间的缓冲;buffer是I/O缓存,用于内存和硬盘的缓冲<1>.Cache最初用于cpu cache, 主要原因是cpu 与memory, 由于cpu快,memory跟不上,且有些值使用次数多,所以放入cache中,主要目的是,重复使用, 并且一级\二\三级物理cache速度快.<2>...
2020-03-14 20:30:20 501
转载 认真分析mmap:what? why? how?
阅读目录mmap基础概念 mmap内存映射原理 mmap和常规文件操作的区别 mmap优点总结 mmap相关函数 mmap使用细节mmap基础概念mmap是一种内存映射文件的方法,即将一个文件或者其它对象映射到进程的地址空间,实现文件磁盘地址和进程虚拟地址空间中一段虚拟地址的一一对映关系。实现这样的映射关系后,进程就可以采用指针的方式读写操作这一段内存,而系统会自动回写脏页面到...
2020-03-14 13:24:47 212
原创 sudo apt-get:command not found报错解决(十六)
没有apt-get命令报错:sudo apt-get:command not found解决:# wget http://ftp.cn.debian.org/debian/pool/main/a/apt/apt_1.4.9_amd64.deb# sudo dpkg -i apt_1.4.9_amd64.deb
2020-03-13 21:07:19 49875 6
原创 Android Studio报错:Plugin Kotlin was not installed: Cannot download
1.Android Studio下载Kotlin插件报错:Plugin Kotlin was not installed: Cannot download 'https://plugins.jetbrains.com/pluginManager/?action=download&id=org.jetbrains.kotlin&build=AI-192.7142.36&uu...
2020-03-11 22:21:08 1581
原创 Thinpad X1 2017款制作Win10启动盘(二十)
最近Win10教育版更新之后,竟然没有wifi图标了,无线网卡驱动也装不上去,真是无语了。。。然后着手安装一个Win10专业版,也发现各种坑在等着,总结下Win10系统制作镜像和安装过程.1.Ultraiso制作U盘启动镜像 <1>.踩坑 请不要使用Ultraiso工具来制作镜像,如果用它制作完成,安装系统的时候会报:不能读取:sources/install.wim的问...
2020-03-11 14:21:09 929
转载 Android Studio报错:Could not download kotlin-reflect.jar (org.jetbrains.kotlin:kotlin-reflect:1.3.61)
1.2.3.如果还是没有解决问题然后在build.gradle 里面将 ext.kotlin_version = '1.3.61’设置为自己当前的版本
2020-03-08 20:52:53 2972
转载 怎么理解虚数和复数
在实数域中,连接两个真理的最短的路径是通过复数域----雅克·阿达马现代数学家对复数的看法如斯,无限拔高了复数的地位,这样说有道理吗?1 对于复数的普通认知我想,对于复数,或许大家一般会有以下的认知吧。1.1 应付考试高中的时候,会粗略地学习下复数,首先定义:然后形如:这样的数就是复数。有了复数之后,开方运算就不再局限于大于0的数了,这样高中必考的一元二次方...
2020-03-08 00:05:10 2080
原创 复数在坐标系中表示
1.复数概念:形式如z=a+bi(a,b均为实数)的数称为复数,其中a称为实部,b称为虚部,i称为虚数单位。 当z的虚部等于零时,常称z为实数;当z的虚部不等于零时,实部等于零时,常称z为纯虚数。2.例如:z = 3+2i是复数,它的实部为3(x轴横坐标),虚部为2(y轴纵坐标).z = 1 + 2i 对应坐标:(1,2); 2i表示以1+2的平开再开方的长度,左旋90...
2020-03-08 00:02:35 24178
转载 复数的认识与理解
复数 ⇒ 数从一维变成了二维平面;复数在傅里叶变换中起到的作用主要是将正弦波和余弦波组合起来(),只是一种组合而已(一种数学 trick,或者数学家的魔法),目的是便于表达,或者简化表达。1. 复数的物理意义:旋转复数最直观的理解就是旋转!4* i* i = -4;就是“4”在数轴上旋转了180度。那么4*i 就是旋转了90度。注意:已知i的平方等于-1 . 考...
2020-03-07 23:31:17 4940
转载 Android Native Hook工具
前言在目前的安卓APP测试中对于Native Hook的需求越来越大,越来越多的APP开始逐渐使用NDK来开发核心或者敏感代码逻辑。个人认为原因如下:安全的考虑。各大APP越来越注重安全性,NDK所编译出来的so库逆向难度明显高于java代码产生的dex文件。越是敏感的加密算法与数据就越是需要用NDK进行开发。 性能的追求。NDK对于一些高性能的功能需求是java层无法比拟的。 手游的...
2020-03-07 18:15:43 714
转载 Inline Hook
什么是Inline HookInline Hook即内部跳转Hook,通过替换函数开始处的指令为跳转指令,使得原函数跳转到自己的函数,通常还会保留原函数的调用接口。与GOT表Hook相比,Inline Hook具有更广泛的适用性,几乎可以Hook任何函数,不过其实现更为复杂,考虑的情况更多,并且无法对一些太短的函数Hook。其基本原理请参阅网上其他资料。需要解决的问题Arm模式与T...
2020-03-07 18:07:33 720
H.264标准协议(官方中文版)
2020-10-28
HxD_Hex编辑器中文版.zip
2020-09-12
MultimediaFrameworkOverview.zip
2020-09-01
Gstreamer-Openmax-gst-openmax.zip
2020-08-17
GStreamer中文开发手册.zip
2020-07-22
win10removeAll.zip
2020-06-25
vcxsrv-64.1.20.8.1.zip
2020-06-20
debug_hybris_demo.zip
2020-06-03
手写Fuchsia第一个app
2020-03-16
第五代加固技术ARM VMP原理实现与应用.zip
2020-03-01
AUDIO CODEC DAPM详解.zip
2019-12-30
蓝牙Audio调试.zip
2019-12-27
Universal Serial Bus Device Class Definition for Audio Devices.zip
2019-11-16
802.11 Reason Code中文说明(全)
2019-05-21
彻底禁掉Win10 Defender自启动
2022-12-24
Elecard HEVC Analyzer_For_Windows.zip
2021-01-06
JM-H264参考手册
2020-10-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人