Android进阶系列
文章平均质量分 83
Soon_苏大强
这个作者很懒,什么都没留下…
展开
-
基于Android的ELF PLT/GOT符号重定向过程
#引言写这篇技术文的原因,主要有两个:其一是发现网上大部分描述PLT/GOT符号重定向过程的文章都是针对x86的,比如《Redirecting functions in shared ELF libraries》就写得非常不错。虽然其过程跟ARM非常类似,但由于CPU体系不同,指令实现差异非常大;其二是网上大部分关于ELF文件格式的介绍,都是基于链接视图(Linking View),链接...转载 2019-12-08 17:40:22 · 628 阅读 · 0 评论 -
常见android app加固厂商脱壳方法研究
这篇文章主要介绍了常见android app加固厂商脱壳方法研究,需要的朋友可以参考下目录简述(脱壳前学习的知识、壳的历史、脱壳方法)第一代壳第二代壳第三代壳第N代壳简述Apk文件结构Dex文件结构壳史壳的识别Apk文件结构Dex文件结构壳史第一代壳 Dex加密Dex字符串加密资源加密对抗反编译反调试自定义DexClassLoader第二代壳 Dex抽取与So加固对抗第...转载 2019-12-08 17:40:34 · 1619 阅读 · 0 评论 -
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 · 3565 阅读 · 2 评论 -
Android进阶系列-手写数据库框架
数据库在某些特定需求下是很重要的,像持久化数据,一些不需要实时或者长时间不变的数据,可以放在数据库中做缓存,这样就算用户网络不好或者断网的情况下,依然是可以查看一些以前的数据。像新闻或者咨询类。这样做是不可避免的。提高用户的体验。 谷歌为我们开发者提供了最基础的数据库操作类,同时也提供了SqliteDatabase直接创建修改数据库和表。但是只是这样不能满足我们平时的敏捷开发。作为原创 2017-02-26 16:07:42 · 1656 阅读 · 0 评论 -
三方分享长图、大图
这是第一次写博文,只是想找个地方积累一下自己觉得有用的,以后再次遇见这些问题的时候就可以更快的解决。 描述一下这个问题的背景,一个日志,有文字和很多张图片,以RecyclerView为载体显示,可以上下滑动。分享的时候需要将整个界面都分享出去,包括文字和图片。整个屏幕还可以截图,那超出屏幕的又该怎么去做呢,在网上找了一些代码,整理了一下。先上一张效果图(还不会像其他博友那样做动图,先上静态原创 2016-06-15 11:05:07 · 4317 阅读 · 1 评论 -
Android进阶系列 - 小视频录制取消及播放
公司项目需要加一个小视频录制,发布在咨询。这不是什么新的东西,在网上一搜,捣鼓捣鼓就有了。功能实现了,我就把这个模块抽离出来,做个记录。如果有需求和我这个差不多的,直接拿去改改就ok了。当然我这个也是参考了博客还有git上很多同道的视频录制相关的东西整理出来的。二话不说,先看看效果吧 制作的gif图有噪点没办法啊。还是看看截图吧 好吧,都是恍恍惚惚红红火火~。不过这些都是小事儿,我最原创 2017-07-05 11:04:07 · 2345 阅读 · 6 评论 -
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 · 4467 阅读 · 5 评论 -
Android进阶系列-手写高并发图片加载框架
手写高并发图片加载框架图片加载框架在当前已经是相当的成熟了,想要有创新。就是需要从图片加载速度和图片缓存, 还有内存占用和生命周期监控上去做文章。glide做的就比较好。出自squre团队的良心作品。 该团队可以说是安卓业界良心,还有最近很火的retrofit和okhttp均出自该大神团队,还有很多呢。 框架用的不少,一直没什么时间去研究研究底层,总觉得还是要写一个自己用的吧.原创 2017-03-27 11:54:42 · 2923 阅读 · 0 评论 -
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 · 6369 阅读 · 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 · 4651 阅读 · 0 评论 -
Android NDK系列(三)-AS编写C文件没有提示和不识别NULL
我开始在AS编写C文件的时候,没有提示,那是多么痛的领悟啊,所有的方法都纯敲,有时候还不知道C那些方法,参数是什么,查呀查。真的是很无语~之前用eclipse生成h头文件,然后将头文件放在VisualStudio项目中,在VS编写C文件,这是有提示的,很方便。然后在生成解决方案,生成dll文件,eclipse就可以直接使用了。但在AS中是不一样,使用Cmake是最简单的,而且应该有提示的。我在网上找原创 2017-08-15 17:38:18 · 4301 阅读 · 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 · 9354 阅读 · 4 评论 -
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 · 1045 阅读 · 0 评论 -
Android进阶系列-手写高并发网络访问框架
一个项目,访问网络那是必须的。现在开源的网络框架很多。比如最开始的HeepClient,Volley,xUtils,最近很火的okhttp,还有例如retrofit,okGo这些都是很不错 的框架。但是毕竟是别人写的。出了什么问题都不好查找。这里自己封装了一个网络框架,记录一下封装思路。采用线程池做网络请求的缓冲,可以做到高并发。同时将网络请求和网络处理分开,这样逻辑更清楚。这里的模式参考了V原创 2017-03-11 23:04:47 · 4377 阅读 · 3 评论 -
Android进阶系列之Support Annotation Library使用详解
美女镇楼,bug都给我走开!============================================================================原创 2016-12-29 11:20:19 · 12585 阅读 · 15 评论 -
Android进阶系列之源码分析事件分发责任链模式
翱翔于源码的海洋,痛并快乐着....什么是责任链模式?责任链模式(Chain of Responsibility)的目标是使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递请求,直到有一个对象处理它为止。在处理用户的请求时可能要根据不同的情况对请求添加不同的处理逻辑,在这时候就可以利用责任链进行设计。当需要添加一个处理逻辑原创 2017-01-03 14:52:29 · 1724 阅读 · 1 评论 -
Android进阶系列之Percent Support Library使用详解
总是在为屏幕适配而烦恼,蓝瘦香菇。Google爸爸看着我们这么辛苦,终于在2015年8月推出了一个全新的百分比布局兼容函数库:Android Percent Library。当时我的心情啊,就像看见了千年难得一见的美女。那么来看看都咋用吧。首先需要在Gradle里加入依赖。 compile 'com.android.support:percent:24.2.0'看清楚自己的co原创 2017-01-03 18:05:16 · 7000 阅读 · 0 评论 -
Android进阶系列之源码分析Activity的启动流程
美女镇楼,辟邪!源码,是一个程序猿前进路上一个大的而又不得不去翻越障碍,我讨厌源码,看着一大堆。5000多行,要看完得啥时候去了啊。不过做安卓的总有这一天,自从踏上这条不归路,我就认命了。好吧,我慢慢来啃。先从Activity的启动流程开始,一个app启动的底层源码流程。那么我们该去哪里找源码呢,源码其实就在sdk的包里,并不遥远,只是平时我们很少去关注。(从应用层的入口开始,FrameWor原创 2016-12-23 14:11:43 · 417 阅读 · 0 评论 -
Android进阶系列之事件分发详解
曾经有个朋友问过我,你到底是想挣钱还是搞技术?这个问题很简单,但是我却沉思了。这就关于自己的目标了,到底是安安心心有个工作,有钱拿就行?还是继续深入搞技术,宁愿待在工资高的小公司还是愿意待在工资低的大公司?晚上躺在床上想了想,还是搞技术吧,技术好了自然就有钱了。好吧~最终还是脱离不了钱,毕竟只是个庸俗的人。想想那么多要学的就蓝瘦香菇~========================原创 2016-11-17 16:33:02 · 364 阅读 · 0 评论 -
Android进阶系列之源码SDK单例模式运用
又到了伤心时刻,源码的魅力,只有翱翔于源码的海洋时才能发现。震惊于她的美丽,她的性感,她的婀娜多姿。是的,是她。在看源码之前呢,我们对单例模式应该有足够了解才能在一片黑的源码中找到那点光亮。单例模式,就如它的名字一样,没有必要多次实例化,一次就好。那么单例模式又有多少种呢。除去变异的大概有5种。简单单例模式,饿汉单例模式,DLC单例模式,内部类单例模式,枚举类单例模式。还有很多这些原创 2016-12-27 18:13:51 · 680 阅读 · 2 评论 -
Android进阶系列--源码分析模板方法模式在AsyncTask的运用
模板方法之前我做了一些学习笔记,http://blog.csdn.net/sw5131899/article/details/52413701模板方法的作用主要是规定子类的一些方法的调用顺序和父类封装好在何处调用。子类只需实现它的抽象方法,一些实际的逻辑就行,我们在使用AsyncTask的时候,只是需要实现一些加载前的方法,加载方法,和加载后的方法,那么我们为什么知道他们执行顺序呢?因为在原创 2017-01-07 23:38:30 · 376 阅读 · 0 评论 -
Android进阶系列--源码分析观察者模式在ListView的运用
源码是谷歌攻城狮的精髓,我们要向他们学习,提高自己,只能翱翔于源码的海洋,才能明白谷歌攻城狮的强大。观察者在我们开发过程中使用的是相当的多,那么在源码层就使用的更多了。之前有做过观察者模式的学习笔记。这里就不重复一遍了。http://blog.csdn.net/sw5131899/article/details/52461361 观察者模式定义了一种一对多的依赖关系,让多个观原创 2017-01-08 13:17:29 · 526 阅读 · 0 评论 -
Android进阶系列之AOP面向切面编程
Android的博大精深,不是一言两语能够说明道清的,它的魅力只有亲身去接触才能体会。就像美女一样我先在这里申明一下,我这篇AOP只是学习笔记,适合入门级选手,如果阁下是大神想要参考AOP,那么我给个我认为写的很好的AOP链接:http://blog.csdn.net/innost/article/details/49387395,我就是参照他的博客和官网例子学习的。那么我们先来说原创 2016-12-26 17:30:34 · 15793 阅读 · 11 评论 -
Android进阶系列-发布项目到Jcenter
作为一个Android开发,目前大部分应该使用的是AS了。那么导入gradle使用三方library次数应该也不少,像这样compile 'com.google.zxing:core:3.2.1',毕竟是开源,有很多东西不必自己亲力亲为,站在巨人的肩膀上继续前进才是我们Android的通天大道。美女镇楼,通天大道! 那么好的技术好的库都应该拿出来分享,像放在git、codek原创 2017-02-15 16:49:47 · 599 阅读 · 1 评论 -
Android进阶系列之源码分析AlertDialog建造者模式
建造者模式之前也写了一篇学习笔记,不过那只是很简单的运用,要去看源码,要去看源码还是得在撸一遍设计模式才行啊。不能怂就是干。建造者模式,在于分工明确,一个抽象建造者,一个指挥者,一个具体的建造者,当然还需要具体的产品。那么我们以一个软件产品为例。技术主管就是抽象建造者,他和产品经理沟通,知道要做一个什么样的产品。而程序猿就是苦逼的体力劳动者,技术主管说咋做你就咋做。而指挥者就是公司的产原创 2016-12-29 16:54:18 · 1839 阅读 · 4 评论 -
Android进阶系列--Design Support Library使用详解(Snackbar,TextInputLayout,TabLayout,NavigationView...)
Material Design 设计风格非常受欢迎,那么支持其效果的Design Support Library(Android 2.1 API level 7及其以上)库又有哪些控件呢。主要包括SnackBar、Navigation View、FloatActionbutton、CoordinatorLayout、CollapsingToolBarLayout等。我在git上看见一个非常炫的原创 2017-01-04 12:38:27 · 2677 阅读 · 7 评论