![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
移动技术
文章平均质量分 67
葡萄使徒
这个作者很懒,什么都没留下…
展开
-
Android APK加固原理
Android作为开源框架,开放之余,所要面临的就是安全问题,世间之事,有正就有邪,有攻就有守,作为开发者虽然不需要进入专业安全领域,但还是需要掌握基本的安全常识和原理。原创 2023-03-22 16:34:23 · 2104 阅读 · 0 评论 -
aab包切换多语言资源文件缺失
aab包切换多语言资源文件缺失原创 2022-02-09 08:59:22 · 2858 阅读 · 0 评论 -
android 高危漏洞,activity劫持,动态调试及so注入
如上图,apk已经用腾讯加固过,但是被检测出3个高危漏洞(RN项目)1、activity劫持:在MainActivity中:@Overrideprotected void onResume() { AntiHijackingUtils.getinstance().onResume(); super.onResume(); Log.e("生命周期","onResume");}@Overrideprotected void onPause() { An..转载 2020-10-27 09:55:22 · 1855 阅读 · 0 评论 -
Android防止被动态调试的解决方法
1、判断要是BuildConfig.DEBUG为false,但AndroidManifest却声明为debuggable,可认为是被动态调试调试状态,强制退出2、定时轮询,判断在BuildConfig.DEBUG为false时,是否有调试器连接,如果有,可认为是被动态调试调试状态,强制退出3、定时轮询,判断在BuildConfig.DEBUG为false时,是否被其他进程用Ptrace方式跟踪,如果有,可认为是被动态调试调试状态,强制退出public class DebuggerUtils {转载 2020-10-27 09:49:22 · 3933 阅读 · 0 评论 -
Android利用github制作maven远程仓库发布sdk
1.制作本地maven仓库module build.gradle文件添加代码段:// 发布maven配置apply plugin: 'maven'uploadArchives { repositories { mavenDeployer { pom.groupId = 'com.systoon' pom.artifactId = "TNLiveDetect-Android" pom.version =原创 2020-08-24 15:50:06 · 1016 阅读 · 0 评论 -
Rxjava--背压(Backpressure)
前言:Rxjava是通过观察者模式设计的异步任务框架,他的有点在于简洁性,不是代码的简洁性,而是逻辑的简洁性,随着项目的中异步任务逻辑越来越复杂,Rxjava可以一直保持代码逻辑的简洁,不会像handler,ThreadHandler这些在几次线程间切换以后可能都已经晕头转向了.Rxjava提供了多种类的操作符,比如ObserverOn可以为每次业务的处理的处理制定线程,flatmap这种操作符...转载 2020-01-17 11:07:39 · 506 阅读 · 0 评论 -
AndroidStudio高级Debug调试技巧
介绍frames、threads、evaluate的使用,断点的一些属性以及条件断点、日志断点、异常断点等使用场景,帮助提高debug效率跳过单步调试的stepOver stepInto等基础调试,从上一幅图开始。frames查看帧调用关系图中右边箭头指着的图标用来控制是否显示frames。左边的箭头指着的是调用关系,从Debug的frames也可以看到:onCli...转载 2019-11-22 10:20:45 · 913 阅读 · 0 评论 -
Android Studio加速编译速度
设置更改studio的VM大小Android Studio限制了Java虚拟机启动的内存大小,限制了最大堆内存,当Android Studio运行越久,内存越不足的时候,就会频繁的触发GC,Android Studio就自然会卡起来了,严重的直接黑屏,所以,我们把对应的所需内存都配置大一些,32位的系统打开studio.exe.vmoptions文件,如果是64位的话打开studio64.e...转载 2020-01-17 11:08:22 · 682 阅读 · 0 评论 -
Kotlin 静态类,静态方法
整个静态类:objectStaticUtil{funmethod()...类中的部分静态方法classStaticUtils{companionobject{//包裹范围内属于静态方法funmethod()...}}全局静态直接新建一个 Kotlin file 然后定义一些常...转载 2019-07-15 19:26:30 · 11561 阅读 · 2 评论 -
Kotlin中使用静态变量和静态方法
在日常开发过程中,静态变量和 静态方法 是我们常见的用法,Java中相信大家并不陌生了,那么在 Kotlin 中该如何使用呢?其实很简单,只需要一个将变量和方法包含在 companion object 域中即可,比如这样:classConstant{companionobject{//接口根地址constvalBASE_URL=...转载 2019-07-15 19:22:24 · 3785 阅读 · 0 评论 -
kotlin静态变量和静态方法的定义和使用
静态变量和静态方法的定义//Define.kt文件class Define{ companion object { val GUIDE_TYPE: String = "GUIDE_TYPE"//定义静态变量 fun open(){//定义静态方法 } }}静态变量和静态方法的使用kotlin中调用kotlin定义的静态变量和方法//Test.kt文件cl...转载 2019-07-15 19:16:13 · 2197 阅读 · 0 评论 -
kotlin学习笔记: ? 和 ?. 和 ?: 和 as? 和 !!
? 可空类型kotlin和Java的类型系统之间的一个很重要的区别就是,Kotlin对可空类型的显示支持也就是说你可以声明一个变量,并且使用可空类型?来表示这个变量是可以为null的比如:java:int StrLen(String s){return s.length}//这个函数并不安全,原因是传入的参数s如果是null,就会报空指针异常kotlin:fun ...转载 2019-07-15 19:01:24 · 209 阅读 · 0 评论 -
kotlin 语法跟 java 的不同
1.extends 用 (冐号):代替。MainActivity extends Activity, 现在是 MaiActivity :Activity()2.interface 用(逗号),代替。 A interface B{} 现在是 ,B{}3.override 不现进 注解,而是用到了方法中 这样写 overrid...转载 2019-07-15 18:44:36 · 146 阅读 · 0 评论 -
Android JNI回调的三种方法
第一种方法在当前函数(同一个线程)里面回调,直接用findClass或者GetObjectClass,进行回调(国内各大博客介绍的普遍方法):java 层代码:/** * Created by jiong103 on 2017/3/23. */public class Sdk { private Sdk() { } //单例 private st...转载 2019-07-15 18:28:02 · 534 阅读 · 0 评论 -
Android面试题网络篇
Android面试题网络篇,由本人整理汇总,后续将继续推出系列篇,如果喜欢请持续关注和推荐。系列文章目录:Android面试题View篇 Android面试题进程篇 Android面试题线程篇TCP和UDP的区别(TCP)传输控制协议,是一种提供可靠数据传输的通用协议。 (UDP)用户数据报协议,是一个面向无连接的协议。采用该协议不需要两个应用程序先建立连接。UDP协议不提供差错恢...原创 2018-11-27 15:22:13 · 4416 阅读 · 0 评论 -
Android面试题线程篇
Android面试题线程篇,由本人整理汇总,后续将推出系列篇,如果喜欢请持续关注和推荐。开启线程的三种方式?java有三种创建线程的方式,分别是继承Thread类、实现Runable接口和使用线程池线程池:Android中常见的线程池有四种,FixedThreadPool、CachedThreadPool、ScheduledThreadPool、SingleThreadExecut...原创 2018-11-20 09:43:35 · 4356 阅读 · 2 评论