登录
  • 欢迎访问 Sharezer Blog

如何识别小米设备澎湃系统HyperOS

在小米澎湃系统中,获取系统版本号是开发或定制操作系统的常见需求之一。 HyperOS系统相关属性 [ro.mi.os.version.code]: [1] [ro.mi.os.version.incremental]: [OS1.0.16.0.UNCCNXM] [ro.mi.os.version.name]: [OS1.0] 本文将提供两种示例代码,演示如何使用不同的方式获取小米澎湃系统的版本号。 其中一种使用 Java 调用 getprop 命令,另一种使用 Java 反射 android.os.SystemProperties 类的 get 方法来获取 ro.mi.os.version.i……继续阅读 »

sharezer 2个月前 (01-09) 160浏览 0评论 0个赞

Android 调试检测技术汇编

本文由 简悦 SimpRead 转码, 原文地址 blog.csdn.net 1 IDA 调试端口检测 原理: 调试器远程调试时,会占用一些固定的端口号。 做法: 读取 / proc/net/tcp,查找 IDA 远程调试所用的 23946 端口,若发现说明进程正在被 IDA 调试。(也可以运行 netstat apn 结果中搜索 23946 端口) void CheckPort23946ByTcp() { FILE* pfile=NULL; char buf[0x1000]={0}; // 执行命令 char* strCatTcp= "cat /proc/net……继续阅读 »

sharezer 1年前 (2022-11-17) 588浏览 0评论 0个赞

Android版本和Api对照表

Android版本 Api Android 13.0(T) 32 Android 12.0(S) 31 Android 11.0(R) 30 Android 10.0(Q) 29 Android 9.0(Pie) 28 Android 8.1(Oreo) 27 Android 8.0(Oreo) 26 Android 7.1(Nougat) 25 Android 7.0(Nougat) 24 Android 6.0(Marshmallow) 23 Android 5.1(Lollipop) 22 Android 5.0(Lollipop……继续阅读 »

sharezer 2年前 (2022-06-06) 865浏览 0评论 0个赞

Android - Suppresswarnings用法

当 Android 编译 java 代码的时候,经常会遇到一些 warning,有一些是自己写得不规范,可以根据建议来修改,而有一些是你觉得必要的,不能修改的,比如说某些方法未被使用的 warning。 出现这种情况,你可以使用 @Suppresswarnings 来解决: 而 @Suppresswarnings("") 里面的字符串"" 有多种选择,以下是常见的: name using all to suppress all warnings (将方法块里面所有的 warning 都取消) cast to suppress w……继续阅读 »

sharezer 2年前 (2022-01-12) 1039浏览 0评论 0个赞

强制Gradle/Maven刷新缓存并重新从Nexus下载依赖jar包

最近需要搭建一个Nexus私服,完全不能连接外网的那种,各种Jar包都是手动拷过来的,碰到需要gradle和maven强制重新下载依赖的问题。 问题 第一次上传某个jar包(比如junit-4.12.jar)到Nexus上,然后调用gradle build可以正确下载到依赖包。但如果手动删掉了本地缓存的jar包(在~/.gradle下),这时从Nexus的下载过程中断,或者Nexus上暂时不存在这个jar包,那么即使Nexus恢复了正常下载,下次执行gradle build时就一直提示不能够找到jar包。 FAILURE: Build failed with an exception. - ……继续阅读 »

sharezer 2年前 (2022-01-11) 1158浏览 0评论 0个赞

Java获取当前类名方法名与获取调用者类名和方法名

本文由 简悦 SimpRead 转码, 原文地址 www.cnblogs.com 获取当前方法的名称空间、类名和方法名称 var className=System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name; public string GetMethodInfo() { string str = ""; //取得当前方法命名空间 str += "命名空间名:" + System.Reflection.MethodBase.GetCurren……继续阅读 »

sharezer 2年前 (2021-11-18) 1336浏览 0评论 0个赞

aspectJ拦截Log用例

工程build.gradle classpath 'com.hujiang.aspectjx:gradle-android-plugin-aspectjx:2.0.10' App build.gradle apply plugin: 'com.hujiang.android-aspectjx' api 'org.aspectj:aspectjrt:1.9.6' InjectLog.java package com.wangsu.wsapm; import android.util.Log; import org.asp……继续阅读 »

sharezer 3年前 (2021-08-24) 1178浏览 0评论 0个赞

反射修改修饰符

// 移除所有方法的final字段 public static void removeFinal(Class<?> clazz, Method[] methods) { Class classClass = Method.class; for (Method method : methods) { try { Field accessFlagsField = classClass.getSuperclass().getDeclaredField("accessFlags"); accessFlagsField.setAcc……继续阅读 »

sharezer 3年前 (2020-10-10) 2318浏览 0评论 27个赞

Modifier 修饰符工具类

本文由 简悦 SimpRead 转码, 原文地址 www.cnblogs.com [TOC] 在查看反射相关的 Class、Field 、Constructor 等类时,看到他们都有这样一个方法:getModifiers():返回此类或接口以整数编码的 Java 语言修饰符。如需要知道返回的值所代表的意思,则需要用到 java.lang.reflect.Modifier 这个类,这个类提供了 static 方法和常量,可以对类和成员访问修饰符进行解码。既然是位于 java.lang.reflect 下,那说明一般是在动态加载过程中、使用 java 反射对某些类进行过滤时会用到,一般开发并……继续阅读 »

sharezer 3年前 (2020-10-10) 2193浏览 0评论 0个赞