Android studio 真机调试时生成的文件找不到的解决方案

在用Android studio 开发时,用真实手机做测试,发现生成的文件会找不到。
下面是我第一次碰到这个问题时,缩写的代码。

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //创建一个文件,可以让别的程序读写

        try {
            FileOutputStream fos = openFileOutput("readAble.txt", MODE_WORLD_READABLE);

            fos.write("data".getBytes());
            fos.close();
File path=getFilesDir();
            fos = openFileOutput("writeAble.txt", Context.MODE_WORLD_WRITEABLE);
            fos.write("data".getBytes());
            fos.close();

            fos = openFileOutput("public.txt", Context.MODE_WORLD_WRITEABLE|Context.MODE_WORLD_READABLE);
            fos.write("data".getBytes());
            fos.close();

            fos = openFileOutput("private.txt", Context.MODE_PRIVATE);
            fos.write("data".getBytes());
            fos.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

1、如果没有指定路径,那么生成的文件都会在该apk的安装包下,即/data/data/[包名]/files里。但是打开DDMS里,发现data目录点了后,没有显示内容。这表示没有权限访问这个目录。

2、找到AS下方的Terminal,在里面输入adb shell ,然后给data目录赋权限。使用命令chmod 777 /data,结果显示命令被终止,意味着没权限执行。

3、使用su root 尝试换root账号,提示没有root账号。

4、下载360一键root软件到手机上,打开root。

5、再到Terminal中执行su root,这时显示角色是root了,那么可以给文件夹发权限了

6、chmod -R 777 /data,表示给/data这个目录及其子目录里的文件赋所有权限。

7、打开DDMS里,找到/data/data/[包名]/里面找到上面代码里生成的几个TXT文件。

时间: 2024-08-26 16:28:08

Android studio 真机调试时生成的文件找不到的解决方案的相关文章

【Android】Android Studio真机调试的问题统整

真机调试需要注意以下几个问题 [1]手机的USB调试需开启 [2]手机不能是仅充电模式,需要传输数据模式 [3]有些USB线会偷工减料,请拿一条没问题的线,例如买手机时原厂给的配线 [4]在PC端需要安装手机驱动,驱动可以去手机的官网找,也可以开启PC端的手机助手,它会帮你下载安装 如果上述的问题还没能解决,看看环境变量有没有设置 打开命令提示符(CMD) 然后执行adb 如果是图片上方的情况,代表曾经有设置 "不是内部或外部命令...",代表没有设置,设置方法如下 首先去Androi

android studio 真机调试

大家都知道开发android app 的时候可以有2种调试方式, 一种是Android Virtual Device(虚拟模拟器) ,另一种就是真机调试. 这里要说的是真机调试的一些安装步骤: 1. 电脑上安装手机USB驱动 如果没有安装驱动或者电脑没有自动安装驱动,无法正常检测设备的话,就算完成下面2步也会有以下提示:USB device not found 安装成功后在电脑的设备管理以及 Android Device Monitor 上都可以看到该设备. 顺便分享一下笔者使用的驱动,型号是 

Android Studio 真机调试 连接手机

前提:adb环境已经配置 手机端: 1.打开手机开发者权限,”设置“ 中找到 “版本号”,连续多次点击,会提示打开“开发者”.我的是 “设置” --> "关于手机" --> “版本号” 2.手机允许“USB调试” 电脑端: 1.打开Android Studio --> 选择“file” --> ‘Settings’ 2.勾选Google USB driver 3.查看需要连接的手机的Andriod版本号,还是在这个页面,SDK Platforms -->

Android Studio -- 真机测试

Android Studio -- 真机测试 AS 模拟器 在电脑上配置安卓环境,到最后发现电脑不支持模拟器 AVD 的生成,网上说是 amdCPU 不支持之类,发现要解决问题需要弄许多东西,于是干脆换了方向,直接用实体机算了,刚好有一部不用的手机 新建一个基本项目 工具栏找到 app 选项选择 Edit Configurations 进入会话框,将 Target 改成 USB Device 手机连接上电脑,保证 USB 调试打开 运行项目,有些手机可能得允许权限安装 效果图 测试的时候发现有时

解决真机调试时Eclipse DDMS上打不开/data目录的问题

一般真机调试时DDMS里面的File Explorer是不能打开/data 目录的,不过也很容易解决. 1.首先手机要root.这个很简单,网上一大堆资料和软件. 2.仅仅root之后还不行,下载一个ES 文件浏览器(或类似的软件),授予该软件root权限. 3.然手在ES 里面找到/data 目录,修改它的属性.把它的读.写.执行的权限全部开放出来. 然后就大功告成了.

mac 系统开发android,真机调试解决方式(无数的坑之后吐血总结)

近期学习android开发,安装了ADT开发环境之后,启动模拟器,慢的要死啊,全然不如苹果的好用,没法,自己买个android手机,准备联机调试程序.没想到在这个过程中,遇到了好多的坑,作为一个新人,每一步都过不去,花了将近2个小时,在万能的百度里查了n多次,最终攻克了.在此,做个记录,希望大家不要走我走过的弯路. 1.确保你的android设备真正链接到电脑上了,我在这里遇到过坑,弄了好久,才发现能充电的线,确无法传递数据过去.所以不要以为随便拿一根线,能充电,就能够传递数据了,我就是这么傻傻

开发者工具上正常运行而真机调试时出现“Component is not found in path "components……Error: Component is not found in path ”

在开发者工具上编译时可以很“正常”地过(就是效果出来了,而且控制台上也没有报错或警告),但是,一旦进行真机调试时就出现下面的错误 这个错误貌似还挺常见的,特别是有时候自定义组件时疏漏了点东西,常见错误的解决可以看这篇博客, 以下记录一下我自己挖坑给自己跳的骚操作! 按照上面的错误提示:“Error: Component is not found in path "components/searchbar/searchbar" (using by "pages/index/in

真机测试时个别机型无法显示toast的问题解决方案

真机测试时个别机型toast信息不显示,找到两个解决方案,不知还有什么其它有效方法,期待大神们的分享!!! 1.手动方案:设置-->应用软件管理-->对应APP-->勾选显示通知框 2.替代方案:避免toast被拦截,可以考虑用alert dialog来显示需要的信息 public static void forceUpdate() { Log.i(TAG, "forceUpdate"); // UmengUpdateAgent.forceUpdate(mActivi

Android Studio真机测试

本页内容 1.真机测试好处多 2.开始吧!真机测试 1.真机测试好处多 不久前才开我的Android Studio之旅,就遇上了一个大麻烦--创建的模拟器各种运行出错.尝试了各种解决方法,都没有什么结果.上网一百度,搜到的答案是:用真机测试吧,android Studio自带的模拟器太水了. 到底水在哪里呢,原来是因为它太卡.运行缓慢.不够时尚.常常出错.看了这样的评论,我也当然没有使用它的原因了.那么用真机测试有什么好处呢?这个,还真不少. 首先,在模拟器上能成功运行的软件不一定能在真机上成功