我正在制作一个应用程序,通过adb从设备sdcard中获取文件(由Android应用程序保存)。问题是不同的设备有不同的sdcard目录
例如:
- sdcard
- sdcard/external_sd
首先我想到了以下解决方案:
- 运行adb shell
- ls
- 检查是否存在"sdcard"目录
- 如果存在,则运行sdcard/ ls并检查是否存在external_sd目录
- 返回值。
但问题是我有两个三星设备GT-I9100和GT-I9000,它们都有一个目录sdcard/external_sd。当我检查System.getenv("EXTERNAL_STORAGE")时,其中一个返回sdcard,另一个返回sdcard/external_sd。我需要拉取先前保存到System.getenv("EXTERNAL_STORAGE")的文件。
所以问题是:是否有任何命令可以直接从adb获取sdcard目录,而无需访问Android代码?
或者我可以使用adb的am start启动活动,并获取返回值吗?这可行吗?
编辑:找到了解决方案:
adb shell echo $EXTERNAL_STORAGE
adb shell echo $EXTERNAL_STORAGE
时,它会自动转义 $。当我按照以下步骤操作时:adb shell
echo $EXTERNAL_STORAGE
我必须以exit
结束以转义 $。