网站多长时间到期,小企业网站建设费用一年,近期热点舆情事件,网页游戏排行榜第一名我们在做国外gms项目的过程中#xff0c;经常会涉及到套MADA信息的情况#xff0c;但是在套MADA信息后后出现一个问题#xff0c;三方检测app中检测到的品牌等信息会跟套的一致#xff0c;这就会导致我们的软件被测试打回#xff0c;当然修改TextView是种方法#xff0c;…我们在做国外gms项目的过程中经常会涉及到套MADA信息的情况但是在套MADA信息后后出现一个问题三方检测app中检测到的品牌等信息会跟套的一致这就会导致我们的软件被测试打回当然修改TextView是种方法但是不通用而且会有漏修改的情况 那么有没有一种方法实现动态修改品牌信息呢有的以下就是博主最近刚发现的不是自创纯借花献佛。修改patch如下diff--git a/sys/frameworks/base/core/java/android/app/ContextImpl.java b/sys/frameworks/base/core/java/android/app/ContextImpl.java index 2ba42ecc1b2..e5ecc1cca8e100644---a/sys/frameworks/base/core/java/android/app/ContextImpl.javab/sys/frameworks/base/core/java/android/app/ContextImpl.java -113,6113,8 import java.io.IOException;import java.io.InputStream;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.reflect.Field;import java.lang.reflect.Modifier;import java.nio.ByteOrder;import java.nio.file.Path;import java.util.ArrayList;-3479,63481,19classContextImplextendsContext{opPackageNamemBasePackageName;}}//add by lyw//解决微信平板手机不能同时在线问题if(com.tencent.mm.equals(mBasePackageName)){modifySystemPropertyField(BRAND,inspur);modifySystemPropertyField(MODEL,PD5012);}elseif(com.finalwire.aida64.equals(mBasePackageName)){modifySystemPropertyField(BRAND,VIVO);modifySystemPropertyField(MODEL,S17 Pro);}elseif(flar2.devcheck.equals(mBasePackageName)){modifySystemPropertyField(BRAND,HUAWEI);modifySystemPropertyField(MODEL,P30 Pro);}//add endmOpPackageNameoverrideOpPackageName!null?overrideOpPackageName:opPackageName;mParamsObjects.requireNonNull(params);-3487,63502,50classContextImplextendsContext{mContentResolvernewApplicationContentResolver(this,mainThread);}/** * add by lyw * * param fieldName * param newValue * return */privatebooleanmodifySystemPropertyField(StringfieldName,ObjectnewValue){try{Class?systemPropertiesClassandroid.os.Build.class;FieldfieldsystemPropertiesClass.getDeclaredField(fieldName);field.setAccessible(true);removeFinalModifier(field);field.set(null,newValue);ObjectactualValuefield.get(null);returnnewValue.equals(actualValue);}catch(Exceptione){Log.e(Modifier,Failed to modify field,e);returnfalse;}}/** * add by lyw * * param field * throws Exception */privatevoidremoveFinalModifier(Fieldfield)throwsException{try{FieldmodifiersFieldField.class.getDeclaredField(modifiers);modifiersField.setAccessible(true);modifiersField.setInt(field,field.getModifiers()~Modifier.FINAL);}catch(NoSuchFieldExceptione){try{FieldaccessFlagsFieldField.class.getDeclaredField(accessFlags);accessFlagsField.setAccessible(true);accessFlagsField.setInt(field,field.getModifiers()~Modifier.FINAL);}catch(NoSuchFieldExceptionex){thrownewRuntimeException(Unable to remove final modifier,ex);}}}privateNonNullAttributionSourcecreateAttributionSource(NullableStringattributionTag,NullableAttributionSourcenextAttributionSource,NullableSetStringrenouncedPermissions){实现的效果因为博主当前项目是接手的同事的代码系统中已经被同事修改禁止安装AIDA64了所以无法验证AIDA64下面附上几款常见检测app验证结果。DevCheck验证结果安兔兔验证结果DeviceInfoHW验证结果