自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(119)
  • 资源 (17)
  • 收藏
  • 关注

原创 鸿蒙开发环境配置-Windows

入局鸿蒙开发,发现在 Windows 下面配置安装相关环境并没有像 Mac 一样简单,过程中遇到了一些问题记录一下。

2024-01-19 22:46:57 828

原创 强劲升级,太极2.x你值得拥有!

嗨,大家好,最近桃桃没顾得上给大家分享好用好玩的软件。还记得前段时间给大家分享的太极1.0软件?最近大佬对软件进行了全新升级,升级后的功能更强更稳定,轻度用户使用基本功能就已经足够了,壕无人性的同学则可以考虑VIP,一起来看看呗!

2023-10-25 22:18:36 302

原创 anyproxy 的安装和抓包使用

基于Node.js,开放二次开发能力,允许自定义请求处理逻辑支持Https的解析提供GUI界面,用以观察请求。

2023-10-22 18:26:46 476

原创 阿里云服务器部署flask项目「gunicorn + nginx + 支持https」

阿里云服务器部署flask项目「gunicorn + nginx + 支持https」

2023-05-14 17:15:07 1749 6

原创 Python用requests访问微信小程序security.msgSecCheck的api从而实现敏感词过滤并避坑47001

Python用requests访问微信小程序security.msgSecCheck的api从而实现敏感词过滤并避坑47001

2023-05-14 17:12:49 522

原创 Flutter常用Widget(一)Container

Flutter常用Widget(一)Container详细介绍Container的相关使用。一、简介A convenience widget that combines common painting, positioning, and sizing widgets.一个使用方便的小部件,它融合了常见的绘画,定位和大小调整。1、构造函数 Container({ Key...

2020-05-05 22:31:52 324

原创 玩转沉浸模式&全屏显示

简介System Bar,系统状态栏,用来展示通知、表现设备状态和完成设备导航的屏幕区域。通常上来说,系统栏(System bar)包括状态栏和导航栏,一般都是与程序同时显示在屏幕上的。但有些场景,譬如视频播放、小说阅读等,可以通过暂时隐藏系统栏,来为用户提供一个更加专注的体验环境。不同场景的诉求和实现透明状态栏参考链接1、http://hukai.me/android-training...

2020-04-12 23:24:13 361

原创 System UI Flag

简介在Android 3.0(11)之后,Android提供了setSystemUiVisibility方法,这个方法的作用是可以通过一个flag配置更改状态栏或其他屏幕/窗口装饰的可见性,主要的作用是暂时隐藏掉系统栏的一些UI,让用户能够将注意力更多地集中在应用程序内容上。注意,在使用的时候,有一些flag不一定是API 11 就支持的。大部分都是在API 16的时候增加上的。这种方式设置...

2020-04-06 23:36:23 577

原创 Window Flag 含义

简介WindowManager.LayoutParams 是用于向WindowManager 描述Window窗口的相关展示策略,它继承自于 ViewGroup.LayoutParams,在我们日常的开发中,肯定会或多或少用到其中的一些主要成员常量,特别是做跟全屏显示相关的业务,譬如视频或者是阅读器,更是会经常用到。这里主要介绍一下,一些常用的Flag 的相关含义,方便开发中使用。常用Fl...

2020-04-06 17:05:27 1928

原创 原生工程集成Flutter

目录背景创建Flutter Module背景随着Flutter的不断完善,逐渐有更多的功能可以考虑使用Flutter 来实现,开发的过程就会发现,我们肯定不能抛弃原有的APP的所有功能进行重写,一般都是针对一些新的业务场景使用Flutter 来实现,这就不可避免的会遇到如果使用Flutter与Android 和iOS进行混合开发的问题。本文会介绍一下Android端开发Flutter的整个流程...

2020-03-28 15:16:23 471

原创 高效开发小结

背景作为一枚稍微还有点追求的程序猿,在日常工作的过程,经常会想去研究下怎样才能高效完成工作和有所成长,不至于成为一个只会写代码完成任务的机器。主要是两个方面:a)、工作拆解合理,排期明确,逐步提高风险把控能力;b)、方便总结、反省,进行优化;在摸索过程中,除了需要在日常工作中刻意去思考外,也发现了几款比较好用的软件,推荐结合使用。思考需要对自己需要提升的能力,理出一份对应的指南,...

2020-03-01 17:42:43 261

原创 Flutter 开发常见异常

添加asset 文件夹增加图片资源的时候,出现了以下错误:解决方式只需要将assets 的声明跟上面的对齐就行。解决后:

2020-02-08 20:25:01 652 2

原创 Flutter 配置常见问题

The Flutter SDK installation is incomplete. Please see…本来是用的好好的的Flutter工程配置,某一天创建新工程的时候突然提示上面错误,很是疑惑,后来想起是pull 了master的代码下来,所以在此执行了一个flutter doctor,下载对应的配置,等执行完成就OK 了。...

2020-01-18 22:39:59 1060

原创 文件句柄和文件句柄泄漏解决

文件句柄在文件I/O中,要从一个文件读取数据,应用程序首先要调用操作系统函数并传送文件名,并选一个到该文件的路径来打开文件。该函数取回一个顺序号,即文件句柄(file handle),该文件句柄对于打开的文件是唯一的识别依据。要从文件中读取一块数据,应用程序需要调用函数readFile,并将文件句柄在内存中的地址和要拷贝的字节数传送给操作系统。当完成任务后,再通过调用系统函数来关闭该文件。...

2019-12-22 12:07:53 3803

原创 Litho介绍和原理分析

一、Litho简介Litho是Facebook推出的一套高效构建Android UI的框架,主要目的是提升RecycleView复杂列表的滑动性能和内存占用。官网原文介绍如下:“Litho is a declarative framework for building efficient user interfaces (UI) on Android. It allows you to wr...

2019-12-16 23:08:01 5459

原创 Start Uml 3.0.2 使用

1、下载start uml: 下载地址2、修改StarUML安装包下的lincense_manage.js(/Applications/StarUML.app/Contents/Resources/app/src/engine/license-manager.js)这个文件夹在开始安装的时候并不存在,是通过asar文件解压得到的,所以需要先将asar进行解压,解压操作需要用到asar,所以...

2019-12-14 11:16:59 364

原创 Github 下载文件夹方法

背景有时候GitHub上的工程很大,而我们只需要其中的一部分文件,这个时候整个clone 下来耗时长不说,还占用空间,所以就有了这样子的诉求:下载某个文件夹。下载方式一、GitZip for github如果你使用的是 Chrome 的话,可以用 GitZip for github 这个插件。下载安装之后,直接双击需要下载的Github 工程的文件夹,就会弹出下载弹框让你下载。使用...

2019-12-13 22:59:08 5196 1

原创 任务调度框架(多任务、动态优先级调度)

背景日常开发的过程中,对于某个状态变更的监听,一般都是使用注册listener的方式,在状态变更的时候,遍历注册的listener一一进行通知,这种情况,经常会出现一些任务扎堆执行的情况,譬如登录完成(或者其他类似的通知监听),如果一个APP里面有很多的业务,每个模块都注册了监听,在登录状态变更的时候,会去获取更新数据或者干一些业务相关的逻辑。这种情况下这种实现方式会存在以下几个问题:1、通...

2019-12-08 23:09:48 3134

原创 UI空闲时回调-MessageQueue.IdleHandler

背景我们的在业务开发的过程中,可能会遇到这样子的情况,需要再UI线程空闲的时候,做一些操作,那应该怎样子实现呢?MessageQueue.IdleHandlerMessageQueue给我们提供了一个IdleHandler的接口,其定义如下: /** * Callback interface for discovering when a thread is going to...

2019-12-08 17:57:03 506

原创 Android xml onClick原理

背景 <Button android:onClick="handleAction" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="点击"/>我们在写布局的时候,经常会给一个控件加上an...

2019-12-06 21:20:36 964

原创 策略模式

策略模式策略模式定义了算法家族,分别封装起来,让他们之间可以互相转换,这个模式的算法变化,不会影响到使用算法的客户。结构图其中,Context对象以聚合的方式,拥有Strategy对象。代码实现1、创建基类或者接口public abstract class Strategy { public abstract double doSomthing(int num1, int n...

2019-12-04 08:27:54 213

原创 Lottie源码分析

简介我们使用Lottie的时候,最关键的类就是LottieAnimationView(继承自ImageView)和LottieDrawable(继承自Drawable),Lottie的描述文件最终会解析成一系列的Layer,然后在绘制的时候,根据不同的进度,绘制Layer的不同帧。JSON描述文件在分析源码之前,我们需要先认识一下,加载的json 文件的数据结构是怎样的。比较重要的有三层,...

2019-12-01 23:29:03 457

原创 Lottie使用

一、简介Lottie是Airbnb开源的一个动画渲染库,支持多平台,包括iOS、Android、React Native以及Web。Lottie动画的制作流程如下:设计师通用After Effects 制作动画,然后通过Bodymovin插件导出对应的json文件,给到每个端的研发,然后进行编译展示。官网地址GitHub地址二、简单使用1、依赖引入build.gradle ...

2019-12-01 12:16:55 2421

原创 ImageView显示长图

显示长图失败我们知道,ImageView经常用来显示一些位图,但是不是所有的图片都能够正常显示的,很明显不是的,当图片超过了一定的大小之后,你会发现,调用setImageBitmap(Bitmap bitmap)方法之后,图片没有正常显示出来,并且可显示的区域也没有显示对应的图片,这是为什么呢?测试做了一个实验,将一个如图大小的Bitmap设置给ImageView,图片没有显示出来,并且出现...

2019-11-30 11:53:30 2107

原创 Xposed的使用(二)

背景在上一篇文章介绍了Xposed的使用,但在反编译自己编写模块的过程中,发现对于一些常用用法方面资料还是比较缺乏,在使用的过程中还得不过google,因此在这里小结了一下这个框架常用的一些方法。查找操作常用hook方法实现public class CommonHookModule implements IXposedHookLoadPackage {private String...

2019-11-30 11:52:14 729

原创 Xposed的使用(一)

简介Xposed是 Android 平台上很出名的一个hook开源框架,使用这个框架我们可以Hook Android系统的核心进程Zygote来达到修改应用程序的运行过程和结果,本篇文章主要介绍怎样通过Android Studio来编写插件给Xposed来实现自己想要的拦截效果。使用安装xposed_install首先需要安装xposed_installer框架,因为需要劫持系统,所以要求...

2019-11-30 11:50:54 529

原创 Ndk配置(Mac)

下载下载NDK有以下两种方式1、使用AndroidStudio里面的SDK Manager,一般下载安装的时候顺便将CMake也一并安装,这种方式操作简单方便,但缺点也比较明显,只能下载最新版本的,不能选择其他的版本2、官网下载: https://developer.android.com/ndk/downloads/ ,能够按照自己的需要下载对应的版本。环境变量配置下载完...

2019-11-30 11:50:01 2789

原创 VirtualHook使用

背景想要逆向分析其他应用,除了需要有smali语法功底外,一套好用的良好的逆向装备也是必不可少的,并且当我们想要更加深入去了解一款app的实现的时候,可能还需要用到调试、替换(修改原有的逻辑),解决方案有很多种,这里推荐使用apktool + jadx + virtualhook,apktool解决资源文件的问题,jadx解决反编译查看代码的问题,virtualhook解决热替换的要求。环...

2019-11-30 11:48:53 1099

原创 360脱壳

背景在反编译app的时候,有时候会遇到一些加固了的app,这样子我们做竞品分析的时候,就无法使用apktool或者jadx进行反编译了,APK加固成为我们分析的障碍。360渠道作为Android应用分发的较大渠道,很多apk都使用了360加固。本文就来介绍下如何来绕过这个坑。360加固后的apk,在arm设备上首先会将assets目录下的libjiagu.so拷贝到files目录下,然后通过l...

2019-11-30 11:47:30 1660

原创 Room使用介绍

简介在2017年Google IO大会上推出的官方数据框框架,其实际上就是对SQLite做了一层封装。基本原理是通过编译期注解,根据你配置的表名和表字段生成对应的代码,减少开发者的工作量。使用1、添加Room依赖dependencies { api "android.arch.persistence.room:runtime:$1.1.1" annotationProcessor "...

2019-11-30 11:46:25 1905

原创 Android NDK开发(目录)

NDK开发一、第一个NDK工程二、JNI开发基础知识三、JNI开发流程四、JNI调试五、崩溃问题定位及异常保护六、SO的生成七、静态注册和动态注册八、自动生成JNI头文件源码地址...

2019-11-20 23:52:33 208

原创 NDK开发(七)--静态注册和动态注册

简介在开发NDK 工程的时候,我们在java层调用一个native方法的时候,虚拟机怎样知道应该调用到so里面的哪个方法呢?这里就用到了另外一个概念注册,通过注册,可以将指定的native方法和so里面对应的方法绑定起来。注册分为静态注册和动态注册。一般我们用到的都是静态注册。静态注册...

2019-11-20 23:29:23 309

原创 NDK开发(五)--崩溃问题定位及异常保护

使用带符号表的so进行问题排查我们可以利用带符号表的so,将崩溃信息里面的错误地址对应的so 行号进行输出,需要使用到ndk的两个工具进行问题定位。addr2line工具在/Library/Android/sdk/ndk-bundle/toolchains/x86_64-4.9/prebuilt/darwin-x86_64/bin下面,会有一个x86_64-linux-android-...

2019-11-20 08:45:12 731

原创 NDK开发(四)--NDK调试

崩溃日志分析在ndk崩溃的时候,如果是习惯JAVA 开发的同学,可能会毫无头绪,因为其崩溃信息并不像JAVA那样清晰,如果不知道各个部分的错误信息是代表啥意思,可能在出现问题的时候,不知道从何入手解决。上面是一个比较全的NDK崩溃堆栈。基本上一个崩溃日志可以分为三部分:错误信号,寄存器信息,方法调用栈。1、错误信号从错误信号里面,一般会告知,是哪种类型的异常,譬如上面的错误,提...

2019-11-20 00:27:25 307

原创 NDK开发(三)--JNI开发流程

一、编写流程1、声明native方法2、生成对应的头文件使用javah命令3、在C/C++文件,引入对应的头文件,并实现对应的方法使用""而非<>的方式引入。否则会报以下异常.error: 'com_canter_ndkdemo3_JNIMethod.h' file not found with <angled> include; use...

2019-11-19 00:16:52 227

原创 NDK开发(八)--自动生成JNI头文件

简介在使用NDK开发过程中,对于我们声明的native方法,都是需要进行静态注册的,实现的方法可以是根据类型签名的规范进行实现,也可以使用javah来帮我们自动生成。自己手写的方式,很容易一不小心就写错了,所以一般都是使用javah的方式,我们之前在使用的时候,步骤都是这样子的,javac com/example/Test.javajavah com.example.Test然后将在当前...

2019-11-10 18:49:29 572

原创 NDK开发(二)--JNI基础知识

JNI数据类型JNI的数据类型包含两种:基本类型和引用类型。1、基本数据类型Java中的数据类型的对应关系如下:2、引用类型Java中的引用数据类型的对应关系如下:JNI类型签名JNI的类型签名标识一个特定的Java类型,这个类型可以是类也可以是方法或者数据类型。类签名L+包名+类名+;的形式,在编写的时候,需要将全路径里面的"."替换成“/”,例如最常用的java.l...

2019-11-09 23:23:58 170

原创 NDK开发(六)--SO的生成

为啥能够生成一个带符号、一个不带符号的so?在执行gradle assembleRelease 之后,我们的工程就会输出三个so 文件。其中有两个是带符号表信息的,另外一个是不带符号表信息的,看到这不禁有些疑惑,其他两个so 是怎样生成的?为啥能够输出不带符号表的so?生成的位置以及相关的设置是在哪里配置的?一开始在研究的时候,以为是ndk-build的时候生成的,一直在找CMakeLis...

2019-11-08 00:01:41 1272

原创 NDK开发(一)--第一个NDK工程

介绍1、NDKNDK是Native Development Kit的缩写,它不是一个单独的工具,而是一个包含API、交叉编译器、链接程序、调试工具、构建工具、文档和示例等的综合工具。它的作用是快速开发C/C++动态库,并自动将动态库和应用打包到apk中。2、JNIJNI是Java Native Interface的缩写,即Java 本地接口,作用是Java 跟本地其他语言(C/C++)进行...

2019-11-05 23:00:16 320

原创 【Java基础】---线程安全

目录1、简介 在多线程的的使用场景中,如果对于同一个对象中的实例变量并发进行访问的话,可能会产生“脏数据”的情况,而想要避免出现这种情况的方法就是进行同步处理。常用的就是使用synchronized、volatile来实现。但在日常开发中可能经常会出现使用不当而导致各种各样的异常问题,例如死锁、带来的执行性能问题等。下面就对两种类型做详细的介绍。2、synchroni...

2019-07-29 00:22:55 201

EngineerTool.apk

一款用于提高Android开发者开发效率的工具,能够在开发过程中,方便获取开发所需要的信息,例如设备的屏幕大小、手机的机型等,并且能够获取在栈顶的应用的Activity的信息,方便开发过程中进行调试。

2019-10-11

drizzleDumper

drizzleDumper,360脱壳脚本工具。 drizzleDumper,360脱壳脚本工具

2018-06-10

SVN 代码比较工具

SVN 代码比较工具 SVN 代码比较工具 SVN 代码比较工具 SVN 代码比较工具

2018-04-08

APK反编译工具.

APK反编译工具.APK反编译工具.APK反编译工具.APK反编译工具.

2018-04-08

TraceView使用技巧.

TraceView使用技巧.TraceView使用技巧.TraceView使用技巧.TraceView使用技巧.

2018-04-08

Animation 动画详解

Animation 动画详解 Animation 动画详解 Animation 动画详解Animation 动画详解Animation 动画详解Animation 动画详解

2018-04-08

帧动画Demo

帧动画帧动画帧动画帧动画帧动画帧动画帧动画帧动画帧动画帧动画

2018-01-14

ToTrace脚本文件

ToTrace脚本文件 ToTrace脚本文件 ToTrace脚本文件 ToTrace脚本文件 ToTrace脚本文件 ToTrace脚本文件 ToTrace脚本文件

2017-11-21

MarkDown安装包(含注册码)

Markdown 是为那些需要经常码字或者进行文字排版的、对码字手速和排版顺畅度有要求的人群设计的,他们希望用键盘把文字内容啪啪啪地打出来后就已经排版好了,最好从头到尾都不要使用鼠标。这些人包括经常需要写文档的码农、博客写手、网站小编、出版业人士等等。

2016-01-13

setuptools-0.6c11.tar.gz

setuptools-0.6c11.tar.gz,python下载安装第三方的库所需的工具

2015-09-29

通信原理课件

通信原理的课件,以及习题答案,广东工业大学计算机

2015-06-07

游戏2048的源代码

游戏2048的实现,简单的布局实现,还有游戏逻辑,注释写得很清楚,可参考学习。

2015-04-19

Github项目上传工具

TortoiseGit-1.8.12.0-64bit

2015-04-17

AXMLPrinter2.jar AXMLPrinter2.jar

AXMLPrinter2.jar。用于反编译时候把xml文件从新解析出来,不再是乱码

2015-03-04

APK反翻译工具包

里面包括apktool.rar,dex2jar-0.0.9.15.zip,jd-gui-0.3.5.windows.zip,三个东西,反翻译必备资源

2015-03-04

SVN的安装包

svn的安装包。Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。

2015-02-08

操作系统课程设计

编程模拟一个简单的文件系统,实现文件系统的管理和控制功能。在用户程序中通过使用文件系统提供的Create、open、read、write、close、delete等文件命令,对文件进行操作。了解文件系统的基本结构和文件管理的基本方法,加深理解文件系统的内部功能及内部实现,通过此课程设计,从而对各种文件操作命令的实质内容和执行过程有比较深入的了解。

2015-02-08

空空如也

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

TA关注的人

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