在模拟器上,我从谷歌下载了一张图片。我可以在模拟器上找到图像,但我不知道图像的文件位置是什么。要调试我的应用程序,我需要知道该图像在哪里。如何获取图像的完整路径?
8 回答
从AVD 文档:
默认情况下,android 工具会在内部
~/.android/avd/
(在 Linux/MacC:\Documents and Settings\<user>\.android\
上)、Windows XP 以及C:\Users\<user>\.android\
Windows 7 和 Vista 上创建 AVD 目录。
C:\Users\<user>\.android\
更新 (2020-02-22):此措辞不再出现在当前文档页面上,但在 Windows 8 和 10 上的位置似乎相同 ( )。
系统镜像下载在 [ {android_version_home_dir}/sdk/system-images/{android-version-number}/system.img> ]
并且 avd 在 C:\Users\.android\avd\ (windows) 或 ~/.android/avd/ (linux/mac) 中创建
这似乎对我有用:
String path = Environment.getExternalStorageDirectory().getPath();
String myJpgPath = path + "/Download/dog-best-friend-1.jpg";
如果您的图像存储在您的模拟器上,那么您可以使用文件 Explore 找到该图像
首先启动你的模拟器然后:
打开您的文件资源管理器并转到mnt/sdcard/Download
您将在此处找到您的图像(如果已下载)。
在 Eclipse 中打开文件探索:window/show view/other/File Explore
在 Windows 中 ---> C:\Documents and Settings<用户>.android\
要找到确切的路径,请打开模拟器转到照片,然后单击照片(如果有),然后单击 i(获取信息)。在那里您可以看到设备上的确切路径。要动态访问这些文件,请尝试:
String path = Environment.getExternalStorageDirectory().getPath();
String pathPhotos = path2 +"/Download";
File[] fileArr = new File(pathPhotos).listFiles();
for(int i = 0; i < fileArr.length; i++) {
Log.d("fileName12", " " + fileArr[i].getPath());
}
如果 listFiles 返回 null 您必须添加:
uses-permission *android:name="android.permission.READ_EXTERNAL_STORAGE" /> 并更改 Emulator -> settings -> Apps -> App Permissions -> storage -> your应用名称 -> 开启
在窗户上:->C:\Users\yourUser\Documents\AndroidStudio\DeviceExplorer\Pixel_2_API_30 [emulator-5554]\data\data\com.yourpackage\files
在模拟器名称之后,您可以选择代码中的路径。