自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

SingleShu的博客

不忘初心,方得始终

  • 博客(88)
  • 资源 (2)
  • 收藏
  • 关注

转载 win10+OLLVM编译与使用(最新最详尽)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/hzhdy/article/details/94737931编译环境:win10所需工具:cmke,mingw,我用的都是最新的包cmake的msi和exe 2选1就好了,下载后按照安装流程安装即可。注意这里有一个坑,使用cmak...

2019-12-08 17:40:48 3373 2

转载 常见android app加固厂商脱壳方法研究

这篇文章主要介绍了常见android app加固厂商脱壳方法研究,需要的朋友可以参考下目录简述(脱壳前学习的知识、壳的历史、脱壳方法)第一代壳第二代壳第三代壳第N代壳简述Apk文件结构Dex文件结构壳史壳的识别Apk文件结构Dex文件结构壳史第一代壳 Dex加密Dex字符串加密资源加密对抗反编译反调试自定义DexClassLoader第二代壳 Dex抽取与So加固对抗第...

2019-12-08 17:40:34 1516

转载 基于Android的ELF PLT/GOT符号重定向过程

#引言写这篇技术文的原因,主要有两个:其一是发现网上大部分描述PLT/GOT符号重定向过程的文章都是针对x86的,比如《Redirecting functions in shared ELF libraries》就写得非常不错。虽然其过程跟ARM非常类似,但由于CPU体系不同,指令实现差异非常大;其二是网上大部分关于ELF文件格式的介绍,都是基于链接视图(Linking View),链接...

2019-12-08 17:40:22 546

原创 Android监听键盘弹出收起

在日常需求中,有一个需要监听键盘得需求,监听键盘得方案有很多,网上出现得有自定义view,监听layout重新布局,查看位置变化,来键盘确定是否弹出。也有使用ViewTreeObserver.OnGlobalLayoutListener,监听根布局得大小变化,究其根本都是监听控件高度变化。在网上溜达了一圈,觉得以下得封装还不错,直接使用。200px左右变化,视作键盘弹出。这个阈值可改,根据屏幕百分...

2018-12-29 19:34:05 4900

原创 Android NDK系列(六)- 文件拆分与合并

NDK系列(一)-AS使用javah生成so文件 NDK系列(二)-AS使用CmakeLists生成so文件 NDK系列(三)-AS编写C文件没有提示和不识别NULL NDK系列(四)-AS生成jar包、导入so库并使用方法 NDK系列(五)- AS导入so三方库,使用C/C+方法文件的拆分和合并是一个常见的功能,使用java是可以完成的。 Android合并文件的三种方式

2017-10-28 14:16:33 995

原创 Android NDK系列(五)- AS导入so三方库,使用C/C+方法

NDK系列(一)-AS使用javah生成so文件 NDK系列(二)-AS使用CmakeLists生成so文件 NDK系列(三)-AS编写C文件没有提示和不识别NULL NDK系列(四)-AS生成jar包、导入so库并使用方法 接着捣鼓ndk,我们在开发的时候,不可避免的需要使用一些三方库,提高自己的开发效率,同时也可以避免自己在某一方面的缺点和短板,这是我们在做安卓原生开发的套路,

2017-09-08 16:25:20 6308 5

原创 Android NDK系列(四)-AS生成jar包、导入so库并使用方法

NDK系列(一)-AS使用javah生成so文件 NDK系列(二)-AS使用CmakeLists生成so文件 NDK系列(三)-AS编写C文件没有提示和不识别NULL AS导入so库呢,这其实很简单。很多的三方都会使用到so文件,和一些jar包。这里呢,还有一种就是我们在编写自己的C/C++文件的时候,需要用到三方so库的一些方法,这个时候需要导入别人的so库,从而调用C/C++的方法。

2017-09-08 15:32:37 4581

原创 Android NDK系列(三)-AS编写C文件没有提示和不识别NULL

我开始在AS编写C文件的时候,没有提示,那是多么痛的领悟啊,所有的方法都纯敲,有时候还不知道C那些方法,参数是什么,查呀查。真的是很无语~之前用eclipse生成h头文件,然后将头文件放在VisualStudio项目中,在VS编写C文件,这是有提示的,很方便。然后在生成解决方案,生成dll文件,eclipse就可以直接使用了。但在AS中是不一样,使用Cmake是最简单的,而且应该有提示的。我在网上找

2017-08-15 17:38:18 4225 5

原创 Android NDK系列(二)-AS使用CmakeLists生成so文件

接着上个文章,继续看AS能怎么生成so文件。 Android NDK系列(一)-AS使用javah生成so文件 :http://blog.csdn.net/sw5131899/article/details/77183352这个就简单多了,直接创建就行了。1、创建一个项目工程我之前Cmake没有,那么直接install就Ok了。如果编译失败那就是ndk环境出问题了。2、编译CmakeLists.t

2017-08-15 17:24:16 9286 4

原创 Android NDK系列(一)-AS使用javah生成so文件

NDK,全称Native Development Kit。当jdk无法满足开发或者对效率要求比较高,比如音视频处理,这时候使用NDK就比较合适,废话不多说。直接开始撸、1、创建一个工程项目 2、创建一个library module,便于之后将so文件导入其他工程使用。当然导入其他工程可以只导入so文件,通过system.loadlibrary导入库。也可以将so文件和对应java文件封装成jar包

2017-08-15 11:20:25 4408 5

原创 Android测试系列(二)- JMeter

Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域。 它可以用于测试静态和动态资源例如静态文件、Java小服务程序、CGI脚本、Java 对象、数据库, FTP服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来在不同压力类别下测试它们的强度和分析整体性能。另外,JMete

2017-08-10 12:32:22 1069

原创 Android进阶系列 - 小视频录制取消及播放

公司项目需要加一个小视频录制,发布在咨询。这不是什么新的东西,在网上一搜,捣鼓捣鼓就有了。功能实现了,我就把这个模块抽离出来,做个记录。如果有需求和我这个差不多的,直接拿去改改就ok了。当然我这个也是参考了博客还有git上很多同道的视频录制相关的东西整理出来的。二话不说,先看看效果吧 制作的gif图有噪点没办法啊。还是看看截图吧 好吧,都是恍恍惚惚红红火火~。不过这些都是小事儿,我最

2017-07-05 11:04:07 2303 6

原创 AndroidUI系列 - 自定义View手绘小黄人

总是想尝试各种自定义控件,来熟悉谷歌提供的一些自定绘图的方法,那就画一个小黄人吧。我在git上找到一个小换人的源码。它是按照比例计算的,有一定的公式,我觉得太麻烦了。就用自己的理解画了一个写死大小的小黄人。先给大家看看效果。 git上的小黄人是这样的。 我用代码画出来的是这样的。 其实有很多地方是不一样的,我会把两套代码都贴出来,有兴趣的朋友可以自己去研究研究。画完之后对Path和canvas

2017-06-29 16:24:37 564

原创 AndroidUI系列 - View实现圆形进度条

我就不从canvas和paint开始说了,onMeasure,onLayout,onDraw这些方法的介绍和源码解析。网上一搜很多。一篇解释不清楚,多看几篇。话不多说了,先看看效果吧。做成gif显示会有问题。我们先来分析一下需要什么数据、 1、需要一个进度 2、需要进度条基本信息,颜色,宽度,大小 3、需要字体大小,颜色那么就来看看具体逻辑。package com.example.admini

2017-06-10 15:54:59 1984

原创 AndroidUI系列 - ViewGroup实现瀑布流

其实瀑布流现在用的越来越少了,更多的是使用MD的风格了。风靡一时的瀑布流现在渐渐地开始退居后幕了。不过,瀑布流也是个不错的自定义控件练习方式。相对简单的实现逻辑,可以帮助更好的更快的上手ViewGroup的自定义,以及onMeasure和onLayout等方法的理解和学习。先看看效果。那么再来看看,需要考虑些什么。 很简单的逻辑,外围能滑动,因为加了一层ScollView,当然也可以不加,为了方便

2017-06-09 17:08:18 521

原创 AndroidUI系列-ViewGroup流式布局

很多时候,我们会遇见各种各样的需求,流式布局算是非常常见的一种。像各种菜单啊,展示之类的。其实这个很简单,可以自己手写一个,顺便练练自定义控件。先看看效果。那么先来分析一下,满足这个需求,应该需要做哪些准备。就像备注写的一样, 首先需要准备的条件: 一个List<List< View > > 来缓存多少行。 一个List<Integer> 来缓存每一行的高度。 一个List<View

2017-06-01 14:08:37 340

原创 AndroidUI系列--在DecorView层解决RecyclerView和ScrollView的滑动冲突

滑动冲突,这个是作安卓的必经之坑。最开始的ListView和ScollView冲突,或者ListView嵌套ListView滑动冲突,再或者ListView和ViewPager的滑动冲突,再或者是GraidView等可滑动控件互相嵌套的冲突。解决方案呢,有很多。比如在onTouchEvent中拦截事件。又或者自定义ListView,修改onMesure测量,使它在测量时获得最大的宽高,这样可以让它不

2017-05-23 11:06:35 1487

原创 Android基础系列 - 手势(二)自定义,识别手势

之前把谷歌提供的Android手势相关的官方文档和网上一些手势分析的文档,也写了一个简单的示例。手势识别(一) :http://blog.csdn.net/sw5131899/article/details/70198923那么今天继续深入学习手势相关的API,增加手势提供了API,GestureLibrary和GestureOverlayView。

2017-04-20 23:24:29 869

原创 Android基础系列 - 手势识别、运用(一)

Android开发中,几乎所有的事件都会和用户进行交互,而最多的交互形式就是手势了。也有很多手势三方的库。比如 android-gesture-detectors 、AndroidPdfViewer(这个库支持pdf文档显示,支持手势),这些三方库都是不错的手势识别。不过今天我们来看看谷歌提供的原生手势识别的相关类和使用方式,以及一些简单的运用。谷歌官方文档手势识别:https://develo

2017-04-18 17:13:58 12809 9

原创 Android动画系列(三) - Property Animation

那么接着学习属性动画,之前的ViewAnimation和插值器看了的话,那么谷歌提供的动画效果掌握的差不多了。这里给出之前的文章链接。Android动画系列(二)插值器效果:http://blog.csdn.net/sw5131899/article/details/70176382Android动画系列(一)ViewAnimation:http://blog.csdn.net/sw513189

2017-04-15 18:50:34 448

原创 Android动画系列(二) - 插值器效果

在前面讲了基础动画的ViewAnimation的所有动画实现形式,xml和java代码实现。不过谷歌还提供了一个不错的效果,那就是插值器。不同的插值器对展现的动画效果有较大的影响。参考启航的插值器介绍学习:http://blog.csdn.net/harvic880925/article/details/40049763 参考谷歌官网文档学习 :https://developer.android

2017-04-14 23:58:34 445

原创 Android框架系列 - 手写,浅析Rxjava

Rx系列当前用的比较广泛,链式调度,方便整理逻辑和书写规范。便于阅读。用的人越来越多,那么既然用了,总是想要去一探rxjava的究竟。这里简单的记录一下学习过程和分享一下学习经验。其实谈不上解析rxjava。哈哈~~这里给一些想要学习rxjava的链接,我觉得写得很好的,一个是抛物线的rxjava介绍,相当详细。 Rxjava git的地址:https://github.com/ReactiveX

2017-04-14 20:41:06 1487

原创 Android动画系列(一) - 基础动画ViewAnimation

动画是Android一个相当重要的组成部分,作为安卓开发者也许多多少少用过一些动画三方库。我一直想要系统的整理一下动画相关的知识。在网上逛了逛,发现很多都已经总结过了,启航的自定义控件三部曲是他花费大心思写的。真心很不错,鸿洋也写过类似动画的文章,郭神也发过动画介绍,这里我就从头开始,参考着他们的和官方文章学习,这里我只是做一下学习笔记。谷歌官方动画文档:https://developer.andr

2017-04-14 11:58:13 2659

原创 Android测试系列(一)-Monkey

测试呢,是安卓开发不可避免的。会开发很重要,会测试同样很重要,自己开发的app没有bug,一次运行便过。这是多么幸福的事啊。不过,这基本是不可能的。或多或少都会有各种各样的bug。但是为了避免这些bug在线上版本出现问题,所以在上线之前肯定要测试的。这个可以交给公司测试人员。不过,作为开发者,不也应该知道如何测试吗?不然以后不想做开发想去做测试了。怎么转行呢?是吧? 安卓常见的测试工具: M

2017-04-11 20:58:58 849

原创 Android基础系列-大纲汇总

这里写图片描述 说明其中大部分文章都是转载自其他大神之手,在转载的过程中学到了很多,这里主要讲解的是Android体系的相关知识点,本文会持续更新。 1 Android service相关知识点Android Service完全解析,关于服务你所需知道的一切(上)http://blog.csdn.net/qq_23547831/article/details/41346543Androi

2017-04-05 10:21:26 417

原创 Android进阶系列-手写高并发图片加载框架

手写高并发图片加载框架图片加载框架在当前已经是相当的成熟了,想要有创新。就是需要从图片加载速度和图片缓存, 还有内存占用和生命周期监控上去做文章。glide做的就比较好。出自squre团队的良心作品。 该团队可以说是安卓业界良心,还有最近很火的retrofit和okhttp均出自该大神团队,还有很多呢。 框架用的不少,一直没什么时间去研究研究底层,总觉得还是要写一个自己用的吧.

2017-03-27 11:54:42 2863

原创 Android进阶系列-手写高并发网络访问框架

一个项目,访问网络那是必须的。现在开源的网络框架很多。比如最开始的HeepClient,Volley,xUtils,最近很火的okhttp,还有例如retrofit,okGo这些都是很不错 的框架。但是毕竟是别人写的。出了什么问题都不好查找。这里自己封装了一个网络框架,记录一下封装思路。采用线程池做网络请求的缓冲,可以做到高并发。同时将网络请求和网络处理分开,这样逻辑更清楚。这里的模式参考了V

2017-03-11 23:04:47 4336 3

原创 算法入门-数组和字符串

3-1 数组3-1-1开灯问题有n盏灯,编号为1~n。第一个人把所有灯打开,第二个人把所有编号为2的倍数的开关按下(这些灯将关闭)。第3个人按下所有编号为3的倍数的开关(开着的会关,关的会打开),依次类推。一共有k个人。问最后有哪些灯开着。输入n和k,输出开着的灯编号。k样例输入:7 3 样例输出:1 5 6 7 import java.util.Scanner;im

2017-03-03 11:59:55 305

原创 算法入门-循环结构程序设计

2-1 aabb输出所有形如aabb的四位完全平方数(即前两位数字相等,后两位数字也相等)。方法一:class calculate{ public static void main(String[] args){ for(int i=1000;i < 9999 ;i++){ int qian = i/1000; int bai = i/100%10; i

2017-02-27 11:28:23 1756

原创 Android进阶系列-手写数据库框架

数据库在某些特定需求下是很重要的,像持久化数据,一些不需要实时或者长时间不变的数据,可以放在数据库中做缓存,这样就算用户网络不好或者断网的情况下,依然是可以查看一些以前的数据。像新闻或者咨询类。这样做是不可避免的。提高用户的体验。   谷歌为我们开发者提供了最基础的数据库操作类,同时也提供了SqliteDatabase直接创建修改数据库和表。但是只是这样不能满足我们平时的敏捷开发。作为

2017-02-26 16:07:42 1617

原创 java数据结构-数据结构的概述

数据结构包括 数组、有序数组、栈、队列、链表、二叉树、红-黑树、2-3-4树、哈希表、堆、图。数据结构优点缺点数组插入速度快查找慢有序数组比无序的数组查找快删除插入慢栈提供后进先出方式的存取 队列提供先进先出方式的存取 链表插入快,删除快 二叉树查找、删除

2017-02-22 11:29:01 658

原创 java -Math常用方法

Math类提供了常用的一些数学函数,如:三角函数、对数、指数等。一个数学公式如果想用代码表示,则可以将其拆分然后套用Math类下的方法即可。 Math.abs(12.3); //12.3 返回这个数的绝对值 Math.abs(-12.3); //12.3 Math.copySign(1.2

2017-02-22 10:06:43 345

原创 算法入门-程序设计入门

1.计算出8/5的值保留小数点1位。class calculate{ public static void main(String[] args){ double result = 8.6/5.0; ps("%.1f",result); } public static void p(T t){ System.out.println("result:"+t); }

2017-02-21 18:34:06 635

原创 基于Zxing的二维码扫描解析库——ZxingPlus

二维码几乎成为现在安卓手机不可或缺的功能之一,不论是推广还是相互关注功能的需求,都需要二维码生成和扫描解析等等。Zxing是安卓手机二维码生成中非常好用的了。但是导入Zxing还需要自定义很多功能,那么我们可不可以把这些常用的功能封装好,做一个三方库,方便自己更方便大家呢。是的,方便方便....(手动偷笑)这里我只写一下使用方法和我封装的大概思路。大致的逻辑以图的形式展示出

2017-02-16 17:38:14 2012

原创 Android进阶系列-发布项目到Jcenter

作为一个Android开发,目前大部分应该使用的是AS了。那么导入gradle使用三方library次数应该也不少,像这样compile 'com.google.zxing:core:3.2.1',毕竟是开源,有很多东西不必自己亲力亲为,站在巨人的肩膀上继续前进才是我们Android的通天大道。美女镇楼,通天大道!      那么好的技术好的库都应该拿出来分享,像放在git、codek

2017-02-15 16:49:47 571 1

原创 java注解-ElementType详解

java注解使用是相当频繁,特别是在搭建一些框架时,用到类的反射获取方法和属性,用的尤其多。(特喜欢鬼刀的画风)java中元注解有四个:@Retention @Target @Document @Inherited;  @Retention:注解的保留位置               @Retention(RetentionPolicy.SOURCE) //注解仅存在...

2017-02-09 14:56:03 61519 18

转载 Rxjava具体方法详解

原文是简书一位猿友写的。写的很实在,不错,值得收藏。http://www.jianshu.com/p/64aa976a46be想写好一篇文章确实不容易,感谢那些大牛们能够分享自己的所见所得。关于rxjava的原理以及观察者模式等理论性的内容我就不在这里献丑了,网上有很多很优秀的博客。回头我添加几篇到这里,大家可以看一看,这篇文章只是简单的通过例子告诉大家rxjava的基本使用方法,如果有任

2017-02-07 09:54:35 2536 1

原创 Android进阶系列--源码分析观察者模式在ListView的运用

源码是谷歌攻城狮的精髓,我们要向他们学习,提高自己,只能翱翔于源码的海洋,才能明白谷歌攻城狮的强大。观察者在我们开发过程中使用的是相当的多,那么在源码层就使用的更多了。之前有做过观察者模式的学习笔记。这里就不重复一遍了。http://blog.csdn.net/sw5131899/article/details/52461361      观察者模式定义了一种一对多的依赖关系,让多个观

2017-01-08 13:17:29 471

原创 Android进阶系列--源码分析模板方法模式在AsyncTask的运用

模板方法之前我做了一些学习笔记,http://blog.csdn.net/sw5131899/article/details/52413701模板方法的作用主要是规定子类的一些方法的调用顺序和父类封装好在何处调用。子类只需实现它的抽象方法,一些实际的逻辑就行,我们在使用AsyncTask的时候,只是需要实现一些加载前的方法,加载方法,和加载后的方法,那么我们为什么知道他们执行顺序呢?因为在

2017-01-07 23:38:30 345

原创 设计模式学习之路--解释器模式

设计模式是进阶到架构师的必备技能,当然不只是记住他们的名字,而是要学会他们的精髓。这就不简单了,还是得靠经验和学习。无美女,不代码!

2017-01-07 19:12:33 312

何定旭-Android应用深度优化-正式.pdf

Android apk应用优化详细介绍,包括电量优化,java native性能优化

2019-06-25

aspectj_1.8.5_jar

aspectj编译所需环境

2016-12-26

空空如也

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

TA关注的人

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