The APK file xxx.apk does not exist on disk. Error while Installing APK

今天编译装包到测试机莫名其妙的报了这个问题, 发现这个文件确实在该文件夹下是存在的, 不知道是不是as的bug
好吧百度下吧, 
http://m.blog.youkuaiyun.com/qq446282412/article/details/51243441
http://blog.youkuaiyun.com/afunx/article/details/70313402
这两篇文章介绍的方法都试过了,但是没有解决问题...........
最后在  https://stackoverflow.com/questions/34039834/the-apk-file-does-not-exist-on-disk   找到了答案, 并且解决了问题
 引起该问题的原因大致是使用build.gradle script 中

variant.outputs.each { output ->
    def outputFile = output.outputFile
    if (outputFile != null && outputFile.name.endsWith('.apk')) {
       // apk_渠道名-版本号-版本名称-编译时间.apk
       def fileName = "xxx.apk"
       tput.outputFile = new File(outputFile.parent, fileName)
    }
}
给apk文件重命名时发生了问题, 如果除.apk之外的文件名中还包含. 的话, 可能会出现这个问题,
好吧 将重命名格式改的简单点, 问题就解决了...记录下, 希望也能帮到大家解决类似问题

<think>好的,我现在需要解决用户在Matlab中使用imread函数时出现的错误“Error using imread file does not exist”。首先,我得理解这个错误的原因。用户提供的错误信息是文件不存在,所以可能的情况有几种: 1. 文件路径错误:用户可能输入了错误的路径或文件名,导致Matlab找不到该文件。这时候需要检查路径是否正确,尤其是相对路径和绝对路径的区别。比如,如果用户用的是相对路径,而当前工作目录不是图片所在的文件夹,就会出问题。 2. 文件名拼写错误:包括大小写不一致、扩展名不正确或者文件名中有特殊字符。Matlab在某些操作系统下对文件名大小写敏感,比如Linux,而在Windows下可能不敏感,但最好还是确保完全一致。 3. 文件确实不存在:可能用户误删了文件,或者文件被移动到其他位置,导致路径失效。 接下来,我需要考虑用户可能的操作步骤。用户可能在代码中直接写文件名,比如img = imread('image.jpg'); 这时候如果image.jpg不在当前工作目录下,就会报错。因此,建议用户确认当前工作目录是否正确,可以通过pwd命令查看当前目录,或者使用绝对路径来指定文件位置。 另外,用户可能使用了相对路径,但文件位于子文件夹中,这时候需要加上子文件夹的路径,比如'imagedir/image.jpg'。或者反过来,文件在父目录中,需要使用'../image.jpg'这样的路径。 还有可能文件扩展名的问题,比如实际文件是image.png,但用户写成了image.jpg,这时候也会报错。所以需要检查扩展名是否正确。 此外,权限问题也有可能,虽然比较少见,但某些情况下用户可能没有读取该文件的权限,导致Matlab无法访问。这时候需要检查文件权限设置。 对于解决方案,我应该建议用户按照以下步骤排查: 1. 确认文件路径是否正确,使用绝对路径尝试。 2. 检查文件名和扩展名是否完全匹配。 3. 使用exist函数验证文件是否存在,比如exist('image.jpg', 'file')是否返回2。 4. 添加路径到Matlab的搜索路径中,或者切换到正确的目录。 5. 检查是否有隐藏字符或空格在文件名中,导致路径解析错误。 可能用户还不太清楚Matlab的工作目录概念,所以需要解释如何正确设置当前文件夹,或者使用cd命令切换目录。例如,用户可能将脚本放在一个文件夹,而图片放在另一个文件夹,但未正确切换工作目录。 同时,可以建议用户使用uigetfile函数来交互式选择文件,避免手动输入路径出错的可能性。比如: [filename, pathname] = uigetfile({'*.jpg;*.png;*.bmp','Image Files'}); if isequal(filename,0) disp('User selected Cancel'); else img = imread(fullfile(pathname, filename)); end 这样用户可以通过对话框选择文件,减少路径错误的可能性。 另外,引用中提到的参考内容可能有关联吗?比如引用[1]中的Pref结构体可能不相关,但引用[2]中的路径处理可能有帮助,比如检查路径是否正确拼接。不过用户的问题主要在于文件路径存在与否,可能不需要直接引用这些内容,但可以提醒用户注意路径字符串的正确性。 总结来说,我需要分步骤引导用户检查路径、文件名、扩展名,并建议使用exist函数和绝对路径,以及交互式选择文件的方法来解决问题。</think>在MATLAB中使用`imread`函数时出现`Error using imread file does not exist`错误,通常是由于文件路径或名称错误导致的。以下是逐步解决方案: ### 1. **检查文件路径是否正确** - **绝对路径 vs 相对路径** - 若使用相对路径(如`'image.jpg'`),需确保文件位于MATLAB当前工作目录中。通过`pwd`命令查看当前目录,或使用`cd`命令切换目录。 - 使用绝对路径直接指定文件位置(如`'C:\Users\Name\Documents\image.jpg'`),避免路径歧义[^3]。 - **验证路径是否存在** 使用`exist`函数检查文件是否存在: ```matlab if exist('image.jpg', 'file') == 2 img = imread('image.jpg'); else disp('文件不存在'); end ``` ### 2. **检查文件名和扩展名** - **拼写与大小写** MATLAB在某些操作系统(如Linux)中区分文件名大小写,需确保输入的名称与文件完全一致。 - **扩展名匹配** 确认文件扩展名(如`.jpg`、`.png`)与实际一致。例如,若文件为`image.png`,但代码中写为`image.jpg`,则会报错。 ### 3. **处理特殊字符或空格** - 若文件名包含空格或特殊符号(如`#`、`%`),需用引号包裹路径,或使用`fullfile`函数拼接路径: ```matlab img = imread('my image.jpg'); % 直接包裹 img = imread(fullfile('folder', 'image.jpg')); % 拼接路径 ``` ### 4. **添加文件路径到MATLAB搜索路径** - 若文件不在当前目录,可将其所在文件夹添加到MATLAB搜索路径: ```matlab addpath('C:\Users\Name\Documents\Images'); ``` ### 5. **交互式选择文件(避免手动输入错误)** - 使用`uigetfile`函数通过对话框选择文件: ```matlab [filename, pathname] = uigetfile({'*.jpg;*.png;*.bmp', 'Image Files'}); if ~isequal(filename, 0) img = imread(fullfile(pathname, filename)); end ``` ### 示例代码 ```matlab % 检查文件是否存在并读取 file_path = 'C:\Users\Name\Documents\image.jpg'; if exist(file_path, 'file') == 2 img = imread(file_path); imshow(img); else error('文件不存在:%s', file_path); end ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值