Android studio File Explorer sdcard文件怎么访问

Android studio File Explorer sdcard文件怎么访问,第1张

DexClassLoader myDexClassLoader = new DexClassLoader(
                        //模拟器都没上传到手机sd卡里怎么也读出来了这个类,
                        //说明就是找到的本地的类,
                        //如果上传了,也是一样找不到这给类
                        //找不到文件原因:要加上这个外部存储管理权限,但是手机不同,不一定也是这样。
                        // 
                        "/sdcard/test.dex",
                        //优化路径
                        MainActivity.this.getCacheDir().getAbsolutePath(),
                        null,
                        MainActivity.this.getClassLoader());
                //这里要加载的类,就只能从我指定路径的这个dex文件中去找
                try {
                    //如果安装到手机的apk里边有com.goals.plugin.Test这个类,还是会优先调用这个类,
                    //而不是你修改后的类。
                    //所以这就涉及到一个pathListElement要插到队列最前边去的问题,才能实现,热修复
                    Class clazz
                            = myDexClassLoader.loadClass("com.goals.plugin.Test");
                    Method methodPrint = clazz.getMethod("myPrint");
                    methodPrint.invoke(clazz.newInstance());
                } catch (Exception e) {
                    e.printStackTrace();
                }

现象:通过Android Studio 文件管理器,直接将test.dex上传到sdcard目录下,看到文件上传成功,手机也可以看到。但是安装apk后找这个文件失败。

解决途径:

1,添加上文件访问权限


2,打开手机的动态访问权限

3,还是找不到文件,要加上这个外部存储管理权限,但是手机不同,不一定也是这样。
    

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/992595.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存