一、前言

由于用户在开发者选项中关闭了动画的效果,导致App的动画不生效。但是有的App动画效果被关闭了,还依旧能有动画效果产生,这就让我们的用户觉得这是个BUG😀。于是,就有这个问题的解决方案。

开发者选项关闭动画如下:

(关于为什么用户要关闭动画效果?baidu一下,原因竟然是因为能提升手机的流畅度😭😭😭 )

二、如何解决?

工具类

public class ValueAnimatorUtil {private static String TAG = "ValueAnimatorUtil";/*** 如果动画被禁用,则重置动画缩放时长*/public static void resetDurationScaleIfDisable() {if (getDurationScale() == 0)resetDurationScale();}/*** 重置动画缩放时长*/public static void resetDurationScale() {try {getField().setFloat(null, 1);} catch (Exception e) {e.printStackTrace();}}private static float getDurationScale() {try {return getField().getFloat(null);} catch (Exception e) {e.printStackTrace();return -1;}}@NonNullprivate static Field getField() throws NoSuchFieldException {Field field = ValueAnimator.class.getDeclaredField("sDurationScale");field.setAccessible(true);return field;}
}

怎么使用?

在Activity的onCreate方法中调用如下代码:

ValueAnimatorUtil.resetDurationScaleIfDisable()

 注意:以上代码只能在 targetSdkVersion为28或者以下生效,原因如下:

 可以看到,在我们需要反射的字段sDurationScale,多了UnsupportedAppUsage注解。

这是因为Google官方在Android P(Android9.0版本)开始针对非 SDK 接口的限制。也就是说,以前你系统的接口通过反射就能调用,现在都不能通过反射获取。

具体被限制的接口名单可以查看这里

所谓道高一尺魔高一丈,既然Google限制了我们,那就肯定会有大佬去解决问题,一起往下看如何突破Android P 接口限制。

三、如何突破Android P接口限制?

如何突破的原理可以看最后提供的参考链接,这篇文章主要讲如何使用。

第一步:将下面仓库地址代码添加到你的根 build.gradle 中:

allprojects {repositories {...maven { url 'https://jitpack.io' }}}

第二步:将下面代码添加到你的主模块build.gradle中:

implementation 'com.github.tiann:FreeReflection:3.1.0'

第三步:在你的Application中加入如下代码:

public class MyApplication extends Application {@Overrideprotected void attachBaseContext(Context base) {super.attachBaseContext(base);Reflection.unseal(base);}
}

最后,重新编译运行,在targetSdkVersion为28以上的版本都能修改sDurationScale成功。

四、分析源码

突破Andriod P限制仓库地址

可以把上面第三方SDK源码下载到本地,可以发现,核心代码量就十几行。主要文件就两个

BootstrapClassReflection,其中关于CPP的代码应该是旧的突破Android P限制的方法。
源码截图如下:

源码分析 

源码核心目的:

  • 通过反射调用 VMRuntime.setHiddenApiExemptions,把我们需要解除限制的方法传入,就能将我们自己要使用的隐藏 API 全部都豁免掉了。
  • 我们所有Java方法类的签名都是以 L开头,只要直接传个 L进去,所有隐藏API就会被全部解除限制。

开始从源码分析他是如何使用的

第一步:先从 Reflection.unseal(base)调用开始

public static int unseal(Context context) {if (SDK_INT < 28) {// Below Android P, ignorereturn 0;}// try exempt API first.if (exemptAll()) {return 0;}if (unsealByDexFile(context)) {return 0;}return -1;}

可以看到,主要方法其实就两个,exemptAllunsealByDexFile,先看下exemptAll方法。

第二步:exemptAll方法

public static boolean exemptAll() {return exempt(new String[]{"L"});}

可以看到,传入了一个字符串“L“,而这个L就是代表了所有的Java方法。继续往下看:

public static boolean exempt(String... methods) {if (sVmRuntime == null || setHiddenApiExemptions == null) {return false;}try {setHiddenApiExemptions.invoke(sVmRuntime, new Object[]{methods});return true;} catch (Throwable e) {return false;}}

 其实就是一个反射的调用setHiddenApiExemptions方法,我们看下setHiddenApiExemptions和sVnRuntime是如何获取的

public final class BootstrapClass {private static final String TAG = "BootstrapClass";private static Object sVmRuntime;private static Method setHiddenApiExemptions;static {if (SDK_INT >= Build.VERSION_CODES.P) {try {Method forName = Class.class.getDeclaredMethod("forName", String.class);Method getDeclaredMethod = Class.class.getDeclaredMethod("getDeclaredMethod", String.class, Class[].class);Class<?> vmRuntimeClass = (Class<?>) forName.invoke(null, "dalvik.system.VMRuntime");Method getRuntime = (Method) getDeclaredMethod.invoke(vmRuntimeClass, "getRuntime", null);setHiddenApiExemptions = (Method) getDeclaredMethod.invoke(vmRuntimeClass, "setHiddenApiExemptions", new Class[]{String[].class});sVmRuntime = getRuntime.invoke(null);} catch (Throwable e) {Log.w(TAG, "reflect bootstrap failed:", e);}}}

上面代码的目的是为了获取到 setHiddenApiExemptions,由于setHiddenApiExemptions是属于系统的方法,普通的用户是无法获取到的。dalvik.system.VMRuntime源码截图如下:

/*** Sets the list of exemptions from hidden API access enforcement.** @param signaturePrefixes*         A list of signature prefixes. Each item in the list is a prefix match on the type*         signature of a blacklisted API. All matching APIs are treated as if they were on*         the whitelist: access permitted, and no logging..** @hide*/@SystemApi(client = MODULE_LIBRARIES)public native void setHiddenApiExemptions(String[] signaturePrefixes);

注释里也说明了Sets the list of exemptions from hidden API access enforcement(设置隐藏 API 访问强制执行的豁免列表。)

需要我们把自己变成系统类,变成系统类的的核心代码主要就是这两句:

Method forName = Class.class.getDeclaredMethod("forName", String.class);
Method getDeclaredMethod = Class.class.getDeclaredMethod("getDeclaredMethod", String.class, Class[].class);
  • 第一行,通过Class获取到自己的forName,用来反射获取类
  • 第二行,通过Class获取到自己的getDeclaredMethod方法,用来反射调用方法 

看到这里你可能会有疑惑,通过反射去反射获取类的方法获取到getDeclaredMethod,然后再去反射调用其他方法,那为什么不直接通过getDeclaredMethod反射调用,还要多此一步呢?

这是因为我们之所以在Android P以上不能调用被系统隐藏的类,是因为我们不是系统类。也就是说,我们把自己变成系统类,那么我们就不会存在有接口的限制。

上面可能说的有点绕。简单的说,通过上面两行代码,你就能变成系统类,那么你就能获取。

提示:上面这个方法在Android 11及以上已经失效(在小米8和一加8的安卓版本10上测试通过),🤭实际调用的是下面的unsealByDexFile方法。

第三步:unsealByDexFile方法

代码如下:

    private static boolean unsealByDexFile(Context context) {//1.解码DEX字段,获取字节流byte[] bytes = Base64.decode(DEX, Base64.NO_WRAP);//2.将获取的字节流,写入到本地文件File codeCacheDir = getCodeCacheDir(context);if (codeCacheDir == null) {return false;}File code = new File(codeCacheDir, System.currentTimeMillis() + ".dex");try {try (FileOutputStream fos = new FileOutputStream(code)) {fos.write(bytes);}//3.执行自己生成的dex文件DexFile dexFile = new DexFile(code);//4.加载BootstrapClass类Class<?> bootstrapClass = dexFile.loadClass("me.weishu.reflection.BootstrapClass", null);//5.调用exemptAll方法Method exemptAll = bootstrapClass.getDeclaredMethod("exemptAll");return (boolean) exemptAll.invoke(null);}

 可以看到,这个方法的最终还是调用exemptAll。这个方法的作用主要是通过系统类去加载我们自己的Dex文件,而这个Dex文件其实就是我们FreeRelfection的源码。生成的Dex文件截图如下:

 说到这里,那我们能不能也自己生成一个?继续往下看

五、生成Dex文件

1.拷贝源码到自己项目下,如图(包名com.example.viewdemo):

 2.将com.example.viewdemo下的代码打包成dex文件

这里可以看我另外一篇文章安卓中将Java文件转换成Dex文件_I'm a Android Dev的博客-CSDN博客

最终生成Hello.dex文件,也可以放到Android Studio打开查看。如下:

3.将Hello.dex文件编码成字符串

由于转换需要在Java工程里,需要创建一个Java工程。 可以将Hello.dex文件放在一起,截图如下:

注意:由于需要用到Android的Base64文件,所以需要拷贝Android的Base64文件到此。

代码如下:

public class FileUtil {public static void main(String[] args) {new Thread(){@Overridepublic void run() {String path = "D:\\20210426\\code\\otherCode\\ViewDemo\\lib\\src\\main\\java\\com\\example\\lib\\Hello.dex";byte[] bytesByFile = getBytesByFile(path);String DEX = Base64.encodeToString(bytesByFile, Base64.NO_WRAP);System.out.println("DEX: " + DEX);}}.start();}public static byte[] getBytesByFile(String pathStr) {File file = new File(pathStr);System.out.println("文件大小为: " + file.length());try {FileInputStream fis = new FileInputStream(file);ByteArrayOutputStream bos = new ByteArrayOutputStream(1024);byte[] b = new byte[1024];int n;while ((n = fis.read(b)) != -1) {bos.write(b, 0, n);}fis.close();byte[] data = bos.toByteArray();bos.close();return data;} catch (Exception e) {e.printStackTrace();}return null;}
}

运行后如下:

 将自己生成的DEX字符串拷贝到Reflection替换DEX字段,并且修改包名。如下:

private static final String DEX = "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SUxEX1RZUEUADkJvb3RzdHJhcENsYXNzABNCb290c3RyYXBDbGFzcy5qYXZhABBCdWlsZENvbmZpZy5qYXZhAAVERUJVRwADREVYAAFJAAJJSQACSUwABElMTEwAAUoAAUwAAkxKAAJMTAADTExJAANMTEwAGUxhbmRyb2lkL2NvbnRlbnQvQ29udGV4dDsAGkxhbmRyb2lkL29zL0J1aWxkJFZFUlNJT047ABhMYW5kcm9pZC90ZXh0L1RleHRVdGlsczsAFUxhbmRyb2lkL3V0aWwvQmFzZTY0OwASTGFuZHJvaWQvdXRpbC9Mb2c7ACVMY29tL2V4YW1wbGUvdmlld2RlbW8vQm9vdHN0cmFwQ2xhc3M7ACJMY29tL2V4YW1wbGUvdmlld2RlbW8vQnVpbGRDb25maWc7ACFMY29tL2V4YW1wbGUvdmlld2RlbW8vUmVmbGVjdGlvbjsAF0xkYWx2aWsvc3lzdGVtL0RleEZpbGU7AA5MamF2YS9pby9GaWxlOwAaTGphdmEvaW8vRmlsZU91dHB1dFN0cmVhbTsAE0xqYXZhL2xhbmcvQm9vbGVhbjsAGExqYXZhL2xhbmcvQ2hhclNlcXVlbmNlOwARTGphdmEvbGFuZy9DbGFzczsAFExqYXZhL2xhbmcvQ2xhc3M8Kj47ABdMamF2YS9sYW5nL0NsYXNzTG9hZGVyOwASTGphdmEvbGFuZy9PYmplY3Q7ABJMamF2YS9sYW5nL1N0cmluZzsAGUxqYXZhL2xhbmcvU3RyaW5nQnVpbGRlcjsAEkxqYXZhL2xhbmcvU3lzdGVtOwAVTGphdmEvbGFuZy9UaHJvd2FibGU7ABpMamF2YS9sYW5nL3JlZmxlY3QvTWV0aG9kOwAlTG1lL3dlaXNodS9yZWZsZWN0aW9uL0Jvb3RzdHJhcENsYXNzOwAKUmVmbGVjdGlvbgAPUmVmbGVjdGlvbi5qYXZhAAdTREtfSU5UAANUQUcAAVYADFZFUlNJT05fQ09ERQAMVkVSU0lPTl9OQU1FAAJWTAADVkxMAAFaAMgeWkdWNENqQXpOUUNsNEVwckdTMnBYSS92M093bEJybGZSblg1cm1rS1ZkTjBDd0FBY0FBQUFIaFdOQklBQUFBQUFBQUFBTWdLQUFCRUFBQUFjQUFBQUJNQUFBQ0FBUUFBQ3dBQUFNd0JBQUFNQUFBQVVBSUFBQThBQUFDd0FnQUFBd0FBQUNnREFBRHNCd0FBaUFNQUFCWUdBQUFZQmdBQUhRWUFBQ2NHQUFBdkJnQUFQd1lBQUVzR0FBQmJCZ0FBY0FZQUFJSUdBQUNKQmdBQWtRWUFBSlFHQUFDWUJnQUFuQVlBQUtJR0FBQ2xCZ0FBcWdZQUFNVUdBQURyQmdBQUJ3Y0FBQnNIQUFBdUJ3QUFSQWNBQUZnSEFBQnNCd0FBZ0FjQUFKY0hBQUN6QndBQTJ3Y0FBQUlJQUFBbENBQUFNUWdBQUVJSUFBQkxDQUFBVUFnQUFGTUlBQUJoQ0FBQWJ3Z0FBSE1JQUFCMkNBQUFlZ2dBQUk0SUFBQ2pDQUFBdUFnQUFNRUlBQURhQ0FBQTNRZ0FBT1VJQUFEd0NBQUErUWdBQUFvSkFBQWVDUUFBTVFrQUFEMEpBQUJGQ1FBQVVna0FBR3dKQUFCMENRQUFmUWtBQUpnSkFBQ2hDUUFBclFrQUFNVUpBQURYQ1FBQTNRa0FBT1VKQUFEekNRQUFDd0FBQUJFQUFBQVNBQUFBRXdBQUFCUUFBQUFWQUFBQUZ3QUFBQmdBQUFBWkFBQUFHZ0FBQUJzQUFBQWNBQUFBSFFBQUFCNEFBQUFqQUFBQUp3QUFBQ2tBQUFBcUFBQUFLd0FBQUF3QUFBQUFBQUFBM0FVQUFBMEFBQUFBQUFBQTVBVUFBQTRBQUFBQUFBQUE3QVVBQUE4QUFBQUNBQUFBQUFBQUFCQUFBQUFHQUFBQStBVUFBQkFBQUFBS0FBQUFBQVlBQUNNQUFBQU9BQUFBQUFBQUFDWUFBQUFPQUFBQUNBWUFBQ2NBQUFBUEFBQUFBQUFBQUNnQUFBQVBBQUFBQ0FZQUFDZ0FBQUFQQUFBQUVBWUFBQUlBQUFBL0FBQUFBd0FBQUNFQUFBQUxBQWNBQkFBQUFBc0FCd0FGQUFBQUN3QVBBQWtBQUFBTEFBY0FDZ0FBQUFzQUFBQWtBQUFBQ3dBSEFDVUFBQUFNQUFjQUlnQUFBQXdBQmdBOUFBQUFEQUFLQUQ0QUFBQU5BQWNBSWdBQUFBRUFBd0F6QUFBQUJBQUNBQzRBQUFBRkFBVUFOQUFBQUFZQUJnQURBQUFBQ0FBSEFEY0FBQUFLQUFRQU5nQUFBQXNBQmdBREFBQUFEQUFHQUFJQUFBQU1BQVlBQXdBQUFBd0FDUUF2QUFBQURBQUtBQzhBQUFBTUFBZ0FNQUFBQUEwQUJnQURBQUFBRFFBQkFFRUFBQUFOQUFBQVFnQUFBQXNBQUFBUkFBQUFCZ0FBQUFBQUFBQUlBQUFBQUFBQUFIZ0tBQUJtQ2dBQURBQUFBQkVBQUFBR0FBQUFBQUFBQUFjQUFBQUFBQUFBamdvQUFISUtBQUFOQUFBQUFRQUFBQVlBQUFBQUFBQUFJQUFBQUFBQUFBQ3hDZ0FBZFFvQUFBRUFBUUFCQUFBQUF3b0FBQVFBQUFCd0VBTUFBQUFPQUFvQUFBQURBQUVBQ0FvQUFIc0FBQUJnQlFFQUV3WWNBRFJsYlFBY0JRVUFHZ1l4QUJJWEkzY1FBQklJSEFrSEFFMEpCd2h1TUFJQVpRY01BUndGQlFBYUJqUUFFaWNqZHhBQUVnZ2NDUWNBVFFrSENCSVlIQWtRQUUwSkJ3aHVNQUlBWlFjTUFoSUZFaFlqWmhFQUVnY2FDQzBBVFFnR0IyNHdCUUJSQmd3RUh3UUZBQklsSTFVUkFCSUdHZ2MxQUUwSEJRWVNGaElIVFFjRkJtNHdCUUJDQlF3REh3TUtBQklsSTFVUkFCSUdHZ2MrQUUwSEJRWVNGaElYSTNjUUFCSUlIQWtTQUUwSkJ3aE5Cd1VHYmpBRkFFSUZEQVVmQlFvQWFRVUtBQklGRWdZalpoRUFiakFGQUZNR0RBVnBCUWtBRGdBTkFCb0ZCZ0FhQmpzQWNUQUJBR1VBS1BjQUFBWUFBQUJyQUFFQUFRRUpjZ0VBQVFBQkFBQUFOd29BQUFRQUFBQndFQU1BQUFBT0FBTUFBUUFCQUFBQVBBb0FBQXNBQUFBU0VDTUFFZ0FTQVUwQ0FBRnhFQW9BQUFBS0FBOEFBQUFJQUFFQUF3QUJBRUlLQUFBZEFBQUFFaEVTQW1JRENRQTRBd1lBWWdNS0FEa0RCQUFCSVE4QllnTUtBR0lFQ1FBU0ZTTlZFUUFTQmswSEJRWnVNQVVBUXdVbzhnMEFBU0VvN3dBQURBQUFBQTBBQVFBQkFRa2FBd0FBQUFFQUFBQlNDZ0FBRFFBQUFCSVFJd0FTQUJJQkdnSVBBRTBDQUFGeEVBb0FBQUFLQUE4QUFBQUJBQUVBQVFBQUFGY0tBQUFFQUFBQWNCQURBQUFBRGdBRUFBRUFBUUFBQUZ3S0FBQWVBQUFBRWdCZ0FRRUFFd0ljQURVaEF3QVBBSEVBQ3dBQUFBb0JPUUg3L3hvQU1nQnhFQVFBQUFCdUVBQUFBd0FNQUZJQUFBQnhFQTRBQUFBS0FDanFBUUFBQUFBQUFBQUJBQUFBQVFBQUFBTUFBQUFIQUFjQUNRQUFBQUlBQUFBR0FCRUFBZ0FBQUFjQUVBQUJBQUFBQndBQUFBRUFBQUFTQUFBQUF6RXVNQUFJUEdOc2FXNXBkRDRBQmp4cGJtbDBQZ0FPUVZCUVRFbERRVlJKVDA1ZlNVUUFDa0pWU1V4RVgxUlpVRVVBRGtKdmIzUnpkSEpoY0VOc1lYTnpBQk5DYjI5MGMzUnlZWEJEYkdGemN5NXFZWFpoQUJCQ2RXbHNaRU52Ym1acFp5NXFZWFpoQUFWRVJVSlZSd0FHUmt4QlZrOVNBQUZKQUFKSlNRQUNTVXdBQkVsTVRFd0FBVXdBQTB4TVRBQVpUR0Z1WkhKdmFXUXZZMjl1ZEdWdWRDOURiMjUwWlhoME93QWtUR0Z1WkhKdmFXUXZZMjl1ZEdWdWRDOXdiUzlCY0hCc2FXTmhkR2x2YmtsdVptODdBQnBNWVc1a2NtOXBaQzl2Y3k5Q2RXbHNaQ1JXUlZKVFNVOU9Pd0FTVEdGdVpISnZhV1F2ZFhScGJDOU1iMmM3QUJGTWFtRjJZUzlzWVc1bkwwTnNZWE56T3dBVVRHcGhkbUV2YkdGdVp5OURiR0Z6Y3p3cVBqc0FFa3hxWVhaaEwyeGhibWN2VDJKcVpXTjBPd0FTVEdwaGRtRXZiR0Z1Wnk5VGRISnBibWM3QUJKTWFtRjJZUzlzWVc1bkwxTjVjM1JsYlRzQUZVeHFZWFpoTDJ4aGJtY3ZWR2h5YjNkaFlteGxPd0FhVEdwaGRtRXZiR0Z1Wnk5eVpXWnNaV04wTDAxbGRHaHZaRHNBSmt4dFpTOTNaV2x6YUhVdlpuSmxaWEpsWm14bFkzUnBiMjR2UW5WcGJHUkRiMjVtYVdjN0FDVk1iV1V2ZDJWcGMyaDFMM0psWm14bFkzUnBiMjR2UW05dmRITjBjbUZ3UTJ4aGMzTTdBQ0ZNYldVdmQyVnBjMmgxTDNKbFpteGxZM1JwYjI0dlVtVm1iR1ZqZEdsdmJqc0FDbEpsWm14bFkzUnBiMjRBRDFKbFpteGxZM1JwYjI0dWFtRjJZUUFIVTBSTFgwbE9WQUFEVkVGSEFBRldBQXhXUlZKVFNVOU9YME5QUkVVQURGWkZVbE5KVDA1ZlRrRk5SUUFDVmt3QUFWb0FBbHBNQUJKYlRHcGhkbUV2YkdGdVp5OURiR0Z6Y3pzQUUxdE1hbUYyWVM5c1lXNW5MMDlpYW1WamREc0FFMXRNYW1GMllTOXNZVzVuTDFOMGNtbHVaenNBQjJOdmJuUmxlSFFBRjJSaGJIWnBheTV6ZVhOMFpXMHVWazFTZFc1MGFXMWxBQUZsQUFabGVHVnRjSFFBQ1dWNFpXMXdkRUZzYkFBSFptOXlUbUZ0WlFBUFpuSmxaUzF5Wldac1pXTjBhVzl1QUJKblpYUkJjSEJzYVdOaGRHbHZia2x1Wm04QUVXZGxkRVJsWTJ4aGNtVmtUV1YwYUc5a0FBcG5aWFJTZFc1MGFXMWxBQVpwYm5admEyVUFDMnh2WVdSTWFXSnlZWEo1QUJodFpTNTNaV2x6YUhVdVpuSmxaWEpsWm14bFkzUnBiMjRBQm0xbGRHaHZaQUFIYldWMGFHOWtjd0FaY21WbWJHVmpkQ0JpYjI5MGMzUnlZWEFnWm1GcGJHVmtPZ0FIY21Wc1pXRnpaUUFLYzFadFVuVnVkR2x0WlFBV2MyVjBTR2xrWkdWdVFYQnBSWGhsYlhCMGFXOXVjd0FRZEdGeVoyVjBVMlJyVm1WeWMybHZiZ0FFZEdocGN3QUdkVzV6WldGc0FBeDFibk5sWVd4T1lYUnBkbVVBRG5adFVuVnVkR2x0WlVOc1lYTnpBQVlBQnc0QUZnQUhEbXIvQXdFeUN3RVZFQU1DTlF2d0JBUkVCaGNCRWc4REF6WUxBUnNQcVFVQ0JRTUZCQmtlQXdBdkNnQU9BQWNPQUN3Qk9nY09BRFlCT3djc25ScmlBUUVEQUM4S0hnQklBQWNPQUEwQUJ3NEFFd0V0QngxeUdXdGFBQVlYT0JjOEh4Y0FCQUVYQVFFWEJnRVhId1lBQVFBQ0dRRVpBUmtCR1FFWkFSa0dnWUFFaUFjREFBVUFDQm9CQ2dFS0I0aUFCS0FIQVlHQUJMUUpBUW5NQ1FHSkFmUUpBUW5NQ2dFQUF3QUxHZ3lCZ0FUNENnRUprQXNCaWdJQUFBQUFEZ0FBQUFBQUFBQUJBQUFBQUFBQUFBRUFBQUJFQUFBQWNBQUFBQUlBQUFBVEFBQUFnQUVBQUFNQUFBQUxBQUFBekFFQUFBUUFBQUFNQUFBQVVBSUFBQVVBQUFBUEFBQUFzQUlBQUFZQUFBQURBQUFBS0FNQUFBRWdBQUFJQUFBQWlBTUFBQUVRQUFBSEFBQUEzQVVBQUFJZ0FBQkVBQUFBRmdZQUFBTWdBQUFJQUFBQUF3b0FBQVVnQUFBREFBQUFaZ29BQUFBZ0FBQURBQUFBZUFvQUFBQVFBQUFCQUFBQXlBb0FBQT09AAJaTAACW0IAEltMamF2YS9sYW5nL0NsYXNzOwATW0xqYXZhL2xhbmcvT2JqZWN0OwATW0xqYXZhL2xhbmcvU3RyaW5nOwANYWRkU3VwcHJlc3NlZAAGYXBwZW5kAAxib29sZWFuVmFsdWUADmJvb3RzdHJhcENsYXNzAAVieXRlcwAFY2xvc2UABGNvZGUADGNvZGVDYWNoZURpcgAUY29tLmV4YW1wbGUudmlld2RlbW8AB2NvbnRleHQAEWN1cnJlbnRUaW1lTWlsbGlzABdkYWx2aWsuc3lzdGVtLlZNUnVudGltZQAFZGVidWcABmRlY29kZQAGZGVsZXRlAAdkZXhGaWxlAAFlAAZleGVtcHQACWV4ZW1wdEFsbAAGZXhpc3RzAAdmb3JOYW1lAANmb3MAD2dldENvZGVDYWNoZURpcgARZ2V0RGVjbGFyZWRNZXRob2QAC2dldFByb3BlcnR5AApnZXRSdW50aW1lAAZpbnZva2UAB2lzRW1wdHkADmphdmEuaW8udG1wZGlyAAlsb2FkQ2xhc3MAI21lLndlaXNodS5yZWZsZWN0aW9uLkJvb3RzdHJhcENsYXNzAAZtZXRob2QAB21ldGhvZHMADHBhcnNlQm9vbGVhbgAPcHJpbnRTdGFja1RyYWNlABlyZWZsZWN0IGJvb3RzdHJhcCBmYWlsZWQ6AApzVm1SdW50aW1lABZzZXRIaWRkZW5BcGlFeGVtcHRpb25zAAR0aGlzAAN0bXAABnRtcERpcgAIdG9TdHJpbmcABHRydWUABnVuc2VhbAAPdW5zZWFsQnlEZXhGaWxlAAx1bnNlYWxOYXRpdmUADnZtUnVudGltZUNsYXNzAAF3AAV3cml0ZQAWAAcOav8DAVEXARUQAwJUF/AEBGsQJAESDwMDVhcBGw+pBQIFAwUEGR4DAE0WAA4ABw4ALAFcBw4ANgFdByydGuIBAQMATRYeAEgABw4ABwAHDgAGAAcOABUABw4ATAFGBx0tVAJ4HWkDAWUTeB9aAwBkDHgAHQFGBx0CDWgCeR1rbAAuAUYHHXgDAUEbSwMDRAwCEjsCcR0BHBEDAkMMWgMHUg08PVwDBEwLeAQAQBAklgMGTxflagJwSgUABQQFBmMFBx4DBU0WPmpGAnQdBQUGBwIOWQUHeT0AARcGBRdEF0gfBAEXAQIXNhcsAwAFAAEaAQoBCgSIgAS4CwGBgATMDQEJ5A0BiQGMDgEJ5A4FAAIABBkBGQEZARkBGQmIgASQDwGBgAS0DwIABQAJGgEaC4GABMwPAQrkDwEJvBABCvgQAYoCAAAAAA4AAAAAAAAAAQAAAAAAAAABAAAAbQAAAHAAAAACAAAAHgAAACQCAAADAAAAGQAAAJwCAAAEAAAACwAAAMgDAAAFAAAAJwAAACAEAAAGAAAAAwAAAFgFAAABIAAACwAAALgFAAABEAAADwAAAOAJAAACIAAAbQAAAFwKAAADIAAACwAAAIgfAAAFIAAAAwAAAGQgAAAAIAAAAwAAAHYgAAAAEAAAAQAAANQgAAA=";Class<?> bootstrapClass = dexFile.loadClass("com.example.viewdemo.BootstrapClass", null);

 最后运行App,设置依然生效。

本篇分享到此结束,说个题外话,文章中的获取元反射方法和DEX文件的生成,这些都是跟安卓的插件化息息相关的。学习需要互相联系。

参考链接:

Android ValueAnimator时长错乱或者不起作用的解决方法以及问题分析_陈小缘的博客-CSDN博客_valueanimator回调不正常

下面两篇是维术大佬关于Android P的限制的原理和解决方案,YYDS。

另一种绕过 Android P以上非公开API限制的办法 | Weishu's Notes 

一种绕过Android P对非SDK接口限制的简单方法 | Weishu's Notes

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. springboot集成kafka收发消息

    引入pom依赖 <dependency><groupId>com.google.code.gson</groupId><artifactId>gson</artifactId><version>2.8.2</version></dependency><dependency><groupId>org.springframework.kafka</groupId><a…...

    2022/5/6 17:46:44
  2. 软件测试面试题 | 提BUG相关

    1、什么是bug&#xff1f;bug由哪些内容组成&#xff1f; ①在电脑系统或程序中&#xff0c;隐藏着一些未被发现的缺陷或问题&#xff0c;统称为bug ②bug组成包含&#xff1a;标题、前置条件、严重程度、优先级、操作步骤、预期结果、实际结果、BUG截图或操作日志等组成 2、…...

    2022/5/6 17:46:32
  3. WLAN网络配置,旁挂AC

    一、拓扑图 二、组网需求&#xff1a; 用户希望能在尽可能少的更改现有组网架构的情况下&#xff0c;进行WLAN部署&#xff0c;AC只对AP进行集中管理&#xff0c;STA的业务数据不需要转发到AC上。 AC通过三层核心SWA连接出口防火墙&#xff0c;并通过SWA和SWB连接AP。通过WLA…...

    2022/5/6 17:46:31
  4. 基于python景点天气及评价的信息采集系统设计和实现

    整个设计的规划是先获取数据&#xff0c;然后算法推荐旅游的景点&#xff0c;最后就是搭建服务。 第一步&#xff0c;我们去获取天气信息&#xff0c;代码如下&#xff1a; import requestspayload {}headers {Accept: text/html,application/xhtmlxml,application/xml;q0.…...

    2022/5/6 17:46:31
  5. Python技巧篇:如何巧妙运用Python处理Word文档

    前言 大家好&#xff0c;我是辣条 之前有给大家分享了一篇&#xff1a;《Python实例篇&#xff1a;自动操作Excel文件&#xff08;既简单又特别实用&#xff09;》 根据很多粉丝反馈是有用处的&#xff0c;于是乎应广大群众号召&#xff0c;今天给大家再来一波Python操作Word…...

    2022/5/6 17:45:21
  6. MySQL运算符

    MySQL运算符 MySQL运算符主要包括三大类&#xff1a;比较运算符、算术运算符、逻辑运算符 算术运算符 加、减-、乘*、除/、求余 mysql> select 12; ----- | 12 | ----- | 3 | ----- 1 row in set (0.01 sec) ​ mysql> select 1/2; -------- | 1/2 | -------- |…...

    2022/5/6 17:45:20
  7. 低代码指南100解决方案:91项目管理失败的6大原因,你肯定也遇到过

    目录 项目失败的6大原因 LCHub项目管理软件助力做好项目管理 我们都经历过这种情况:项目刚开始时,你非常兴奋;你做好相关的内容研究,进行周密的计划;接着召集了一个好的团队,进而着手开始工作。 然后在这个过程中的某个环节出了问题,结果一切都崩溃了——错过项目最后…...

    2022/5/6 17:45:03
  8. String的长度问题

    参考 String长度有限制吗&#xff1f;是多少&#xff1f;...

    2022/5/6 17:44:44
  9. MongoDB 3.4安装及配置

    文章目录一、下载安装包二、安装步骤1、双击![在这里插入图片描述](https://img-blog.csdnimg.cn/adfcf5c79603474c908cce0d6e0223e9.png)2、个人习惯选择安装目录3、点击【Install】安装4、请耐心等待5、点击【Finish】三、对安装目录进行一些配置1、安装结束之后找到你的安装…...

    2022/5/6 17:44:38
  10. Spark源码流程图

    ...

    2022/5/6 17:44:33
  11. 渗透 | 靶机Aragog-1.0.2本地定时执行脚本提权到root

    靶机介绍 下载地址&#xff1a;https://www.vulnhub.com/entry/harrypotter-aragog-102,688/ 作者Mansoor R在VulnHub上上传了哈利波特系列的三个靶机&#xff0c;以哈利波特为故事背景&#xff0c;玩家需要找到这三个靶机中的共8个魂器&#xff0c;打败伏地魔&#xff01;这就…...

    2022/5/6 17:43:54
  12. LABVIEW_课堂笔记 随机(十)循环结构

    目录 循环结构 For循环 建立For循环结构需要以下几个步骤&#xff1a; While循环 ​创建While循环需要以下几个步骤&#xff1a; 循环结构数据通道与自动索引 ​移位寄存器 反馈节点 循环结构 LabVIEW 2015提供两种循环结构&#xff1a;For循环和While循环。两种…...

    2022/5/6 17:43:18
  13. web components开发踩坑记

    1 this.textContent获取不到自定义标签中的内容 详细描述&#xff1a;在wc-alerts.js代码中&#xff0c;this.textContent无法获取到<wc-alerts></wc-alerts>中间的文本 <!DOCTYPE html> <html lang"en"> <head><meta charset&qu…...

    2022/5/6 17:43:00
  14. Pandas Dataframe判断类型是否是datetime64[ns]

    一列数据判断可以使用&#xff1a; import pandas as pdpd.api.types.is_datetime64_ns_dtype(dataframe[某一列])一个dataframe可以使用&#xff1a; dataframe.dtypes "datetime64[ns]"...

    2022/5/6 17:42:48
  15. 螺旋矩阵(Java)

    package chapter01; //螺旋矩阵 public class Test10 {public static int[][] generateMatrix(int n){int[][] res new int[n][n];if(n0){return res;}int left 0;int right n-1;int up 0;int down n-1;int i 1;while(i<n*n){for(int col left;col<right;col){res…...

    2022/5/6 17:42:47
  16. css 3d 旋转正方形

    <template><div class"stuation"><div id"warp"><div id"div1"><div class"box1">一级保护区</div><div class"box2">二级保护区</div><div class"box3">…...

    2022/5/6 17:42:35
  17. [Qt]元对象系统

    元对象系统由三部分组成&#xff1a; QObject基类&#xff1a;所有使用元对象系统的类的基类 Q_OBJECT宏&#xff1a;使类可以使用元对象的特性&#xff0c;如动态属性、信号与槽等 MOC&#xff1a;云对象编译器&#xff0c;为每个QObject的子类提供必要的代码来实现元对象系…...

    2022/5/6 17:42:06
  18. 根据 Stack Overflow最新调查,PHP 是最不受欢迎的语言之一

    虽然调查没有解释原因&#xff0c;但可以找到几个。如果你深入研究任何编程语言&#xff0c;你都会遇到批评和赞扬。 PHP 是一种不符合当今收入最高和最受青睐的趋势的语言&#xff0c;例如那些具有功能范式的语言。 PHP 不是开发人员想要“老去”的语言。相反&#xff0c;它是…...

    2022/5/6 17:42:00
  19. word文档字间距怎么调?拯救死气沉沉的文字仅需这样…

    word文档字间距怎么调&#xff1f;word我们大家都知道什么&#xff0c;也用的不少&#xff0c;办公软件中每个成员都有自己的优点&#xff0c;word文档自然也不例外&#xff0c;Word文件平时最适合用于内容编辑。 但是相信大家也发现了&#xff0c;我们在word文档里面编辑内容的…...

    2022/5/6 17:41:48
  20. 计算两个时间之间的差

    var date1 ‘2019-04-26 11:05:32’; //开始时间 var date2 new Date(); //结束时间 var date3 date2.getTime() - new Date(date1).getTime(); //时间差的毫秒数 var subMinutes Math.floor( date3/(60*1000) ) //获取总共的分钟差//计算出相差天数var daysMath.floor(date…...

    2022/5/6 17:41:45

最新文章

  1. tensorflow_decision_forests\tensorflow\ops\inference\inference.so not found

    恰好有一个帖子提到了py3.10里面的解决方案 pip install --user tensorflow2.11.0My tensorflow version is 2.11.0 and my tensorflow_decision_forests version is 1.2.0 so those should be compatible. I also am using Python version 3.10.11原文链接&#xff1a; http…...

    2024/4/28 4:54:37
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. Unity3D 服务器AStar寻路客户端位置同步显示验证详解

    前言 在Unity3D中&#xff0c;使用AStar算法进行寻路是一种常见的做法&#xff0c;可以让游戏中的角色在复杂的地图中找到最佳的路径。而在多人游戏中&#xff0c;服务器端和客户端之间的位置同步也是非常重要的&#xff0c;确保所有玩家看到的游戏状态是一致的。 对惹&#…...

    2024/4/15 0:50:57
  4. 阿里云8核32G云服务器租用优惠价格表,包括腾讯云和京东云

    8核32G云服务器租用优惠价格表&#xff0c;云服务器吧yunfuwuqiba.com整理阿里云8核32G服务器、腾讯云8核32G和京东云8C32G云主机配置报价&#xff0c;腾讯云和京东云是轻量应用服务器&#xff0c;阿里云是云服务器ECS&#xff1a; 阿里云8核32G服务器 阿里云8核32G服务器价格…...

    2024/4/27 22:33:10
  5. 蓝桥杯第十五届抱佛脚(十)贪心算法

    蓝桥杯第十五届抱佛脚&#xff08;十&#xff09;贪心算法 贪心算法基本概念 贪心算法是一种在算法设计中常用的方法&#xff0c;它在每一步选择中都采取在当前状态下最好或最优&#xff08;即最有利&#xff09;的选择&#xff0c;从而希望导致结果是最好或最优的算法。 贪…...

    2024/4/19 0:49:59
  6. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  7. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  8. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  9. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  10. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  11. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  12. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  13. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  14. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  15. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  16. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  17. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  18. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  19. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  20. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  21. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  22. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  23. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  24. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  25. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57
  26. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  27. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  28. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  29. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  30. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  31. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  32. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  33. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  34. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  35. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  36. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  37. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  38. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  39. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  40. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  41. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  42. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  43. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  44. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  45. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57