前言  本篇作为开篇,会大体上说明,需要解读源码的,类库,或者jar。序  原本,类库和jar的系列准备写到逆向系列课程的,但是那个东西,在写了两篇,就没有后续了,现在也不知道从哪里开始了,只能等后期想好了,再开篇单独写吧。目录:  EventBus、Dagger/Dagger2、okhttp3、Okio、retrofit2、butterknife、zxing、Bolts、RxJava,Andro
转载 2021-05-18 16:30:33
140阅读
2评论
Apktool.jar:  作用:    1、用于对APK文件进行解包,成可以读的smali和xml,png等资源文件。    2、同时,把解码之后的数据,重新打包成APK文件。  栗子:     使用命令的方式使用     1、apktool d xxx.apk    // 解码 apk文件    2、apktool b xxx   // 打包 xxx文件称apk文件  源码解读:  解包文件:
转载 2021-05-21 10:12:49
481阅读
2评论
Bolts:  作用:    用于链式执行跨线程代码,且传递数据  栗子:Task.call(new Callable() {             @Override            public Boolean call() throws Exception {                return true;             }         }, Task.UI_T
转载 2021-05-18 22:37:39
83阅读
2评论
HotXposed:  作用:    免重启手机,实现Xposed hook更新。(当然app是要重启的)  栗子:     入口:   // Hook 入口    public void handleLoadPackage(XC_LoadPackage.LoadPackageParam lpparam) throws Throwable {         hook(HookerDispatch
转载 2021-05-22 09:32:14
371阅读
2评论
EventBus:  作用:    用于不同Activity,Service等之间传递消息(数据)。  栗子:A页面:onCreate定义   EventBus.getDefault().register(this);  onDestroy定义 EventBus.getDefault().unregister(this);       添加public方法,一个Object参数(所有继承与Obje
转载 2021-05-18 16:30:08
130阅读
2评论
Butterknife:  作用:    用于初始化界面控件,控件方法,通过注释进行绑定控件和控件方法  栗子:public class MainActivity extends AppCompatActivity {     @BindView(R.id.btnTest1)     Button btnTest1;     @BindView(R.id.btnTest2)     Button
转载 2020-04-24 17:49:00
100阅读
2评论
Okio:  作用:    说白了,就是一个IO库,基于java原生io。来进行操作,内部做了优化,简洁,高效。所以受到了一部分人的喜欢和使用  栗子:  读写文件。    private void ReadFile() {        try {             InputStream in = new FileInputStream(new File("/sdcard/a.txt")
转载 2020-04-26 08:59:00
183阅读
2评论
Zxing:  作用:    生成和识别,二维码,条形码。  栗子:   生成二维码,赋值到ImageView上     QRCodeWriter qrCodeWriter = new QRCodeWriter();         Maphints = new HashMap<>();         hints.put(EncodeHintType.CHARACTER_SET, "
转载 2021-05-19 19:48:32
111阅读
2评论
标题:从andorid apk到smali、class、jar、java的转化流程详解 ### 引言 作为一名经验丰富的开发者,我很高兴能教会你如何实现“android apk smali class jar java”的转化过程。本文将详细介绍整个流程,并给出每个步骤所需的代码示例,以及对这些代码的解释和意义。 ### 流程概览 以下是从andorid apk到smali、class、jar
原创 9月前
61阅读
Frida体验:  作用:    android手机上可以对,java和so层代码,进行hook.监控数据和处理内存数据。    官译:面向开发人员、逆向工程师和安全研究人员的动态工具工具包。  栗子:    运行步骤:    1、https://github.com/frida/frida/releases 下载适合需要运行环境的可执行程序。我这里是arm64,所以下载了一个最新版本的frida
转载 2021-05-21 23:39:39
308阅读
2评论
在项目开发过程中,我们难免会用到自己去制作自定义的VIEW控件,之后我们别的项目如果需要的话
转载 2012-07-18 09:52:00
117阅读
2评论
Okhttp3:  作用:    用于网络编程(http,https)的快速开发。  栗子:// okHttpClient定义成全局静态,或者单例,不然重复new可能导致连接数耗尽OkHttpClient okHttpClient = new OkHttpClient(); String url = "https://www.test.com";byte[] data = new byte[] {
转载 2020-04-25 13:48:00
341阅读
2评论
目录:andorid jar/库源码解析 RxJava2:  作用:    通过提供一种,观察者和订阅者的模式,的架构,来优化逻辑流程。适用于复杂和需要多数据转换和长流程。  栗子:   定义三个对象类public class ResultInfo {    public int code;    public String msg;    public String data; }public 
转载 2021-04-30 20:24:28
132阅读
2评论
Retrofit2:  作用:    通过封装okhttp库,来进行web通讯,并且使用动态代理的方式,来调用接口地址,通过回调赋值结果。  栗子:  定义一个接口,用于访问使用。public interface IServiceApi {     @FormUrlEncoded     @POST("login")     Calllogin(@Field("name") String name
转载 2021-05-18 22:04:36
209阅读
2评论
Dagger、Dagger2:  作用:  1、用于解耦Activity和业务逻辑  2、在使用业务的时候,不需要重复编写new代码。  3、当业务变化的时候,不需要对所有的UI,进行修改。  4、便于测试,和正式,替换指定Module即可。  栗子:  需要:    1、定义 CommonComponent 的接口 标记 @Component(modules = XXXModule.class)
转载 2021-05-18 21:37:32
198阅读
2评论
Android studio上应用程序开发默认使用Gradle为自动化构建工具,Gradle是在Ant、Maven等自动化工具“前辈”们的基础上发展起来了的。
原创 4月前
14阅读
BLE:  Bluetooth Low Energy,即蓝牙低功耗,它是一种技术,从蓝牙4.0开始支持。蓝牙低功耗芯片有两种模式:单模和双模。 单模:只能执行低功耗协议栈,也就是只支持ble。 双模:支持传统蓝牙以及ble的使用。 较传统蓝牙:传输速度更快,覆盖范围更广,安全性更高,延迟更短,耗电低等优点。 关键术语和概念: Gatt:(Generic Attribute Profile)—通用属
转载 2021-06-16 20:19:59
1161阅读
​在Android SDK中使用Typeface类来定义字体,可以通过常用字体类型名称进行设置,如设置默认黑体:Paint mp = new paint();mp.setTypeface(Typeface.DEFAULT_BOLD)常用的字体类型名称还有: Typeface.DEFAULT //常规字体类型Typeface.DEFAULT_BOLD //黑体字体类型Typeface.MONOSPA
看到各大平台更新android版本,都是开着应用的时候下载,下载完成后自动替换,用户体验上似乎不错,很想弄出来一这么久
原创 2022-07-08 10:28:51
265阅读
关于删除role的一些理论首先,删除用户不能使用DROP ROLE … CASCADE,不能级联删除用户。也就是不能删除依赖的对象。因为角色可以拥有数据库对象,并且可以拥有访问其他数据库对象的权限,所以删除角色通常不仅是执行DROP role的问题。该角色拥有的任何对象必须先被删除或重新分配给其他角色;并且必须回收授予该角色的一切权限。对象的所有权可以通过alter命令修改,如下:ALTER TA
  • 1
  • 2
  • 3
  • 4
  • 5