Failure [INSTALL_FAILED_ALREADY_EXISTS]

1.错误

用命令窗口安装apk文件时,总是报Failure [INSTALL_FAILED_ALREADY_EXISTS],如下:
这里写图片描述

2.过程

使用adb uninstall packagename卸载,没有什么作用。又使用命令:adb shell ls data/app
和 adb shell ls system/app 查询,发现并没安装此应用。分析后,可能是卸载后存留部分数据,导致应用不能安装。

3.解决

adb install -r xxx.apk命令重新安装apk,然后成功
这里写图片描述

4.总结

adb安装有关的几个命令:

adb install -r 这里的r是reinstall 的缩写。
adb install -r (reinstall) 重装
adb install -s (sdcard) 装在SD卡上而不是internal storage
adb uninstall -k (keep) 保留用户数据。
adb uninstall 卸载应用

### Conda 环境更新与安装错误分析 当遇到 `conda env update` 或者 `conda env create` 的过程中发生错误时,通常是因为依赖项冲突、版本不匹配或者环境配置文件中的某些参数不符合当前系统的实际情况。以下是针对该问题的具体解决方案以及可能的原因。 #### 可能原因及解决方法 1. **Pip 安装失败 (Pip failed)** 如果在执行 `conda env create -f environment.yml` 后出现 `Pip failed` 错误,则可能是由于 `.yml` 文件中定义的 Python 包无法通过 pip 正确安装。可以尝试以下操作: - 更新 conda 到最新版本以修复潜在的 bug 和兼容性问题[^1]。 ```bash conda update -n base -c defaults conda ``` - 删除现有的环境并重新创建: ```bash rm -rf ./environment_name/ conda env remove --name environment_name conda env create -f environment.yml ``` 2. **跨编译器工具链缺失** 当出现类似于 `This cross-compiler package contains no program ... ld` 的错误时,这表明缺少必要的交叉编译器支持程序[^4]。可以通过以下方式解决问题: - 激活目标环境后手动安装所需的工具链组件: ```bash conda install gcc_linux-64 gxx_linux-64 ``` - 清理缓存数据后再试一次: ```bash conda clean --all conda env create -f environment.yml ``` 3. **YAML 配置文件损坏或不一致** 使用旧版 YAML 文件可能导致新环境中部分软件包找不到合适版本而引发错误。建议先导出现有工作正常的状态下的完整配置再导入到其他地方测试是否成功[^2][^3]。如果仍然存在问题则考虑简化 dependencies 节点只保留核心需求逐步排查哪些特定条目引起异常行为。 4. **网络连接不稳定影响下载过程** 不稳定的互联网链接也可能造成资源获取中断从而导致上述提到的各种形式的 failure messages 。确保良好的联网状态或将镜像源切换至国内站点如 Tsinghua TUNA Mirror Site 来加速整个流程: 修改 .condarc 设置加入清华开源软件镜像服务地址作为默认频道之一: ```yaml channels: - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/ ... show_channel_urls: true ``` --- ### 示例代码片段 下面提供了一个简单的脚本用于自动化处理常见的 conda 环境重建逻辑: ```python import os import subprocess def recreate_conda_env(env_file_path): try: # Step 1: Remove existing environment if exists. result_remove = subprocess.run( ["conda", "env", "remove", "--name", get_env_name_from_yml(env_file_path)], check=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, ) print(result_remove.stdout.decode()) # Step 2: Create new environment based on the given yml file. result_create = subprocess.run( ["conda", "env", "create", "-f", env_file_path], check=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, ) print(result_create.stdout.decode()) except Exception as e: error_message = str(e).strip() if "already exists" in error_message.lower(): print(f"The specified environment already existed and was removed successfully.") elif "failed to solve with current solver." in error_message.lower() or \ "unsatisfiable specifications" in error_message.lower(): raise ValueError("There are unsolvable conflicts within your dependency list.") from None else: raise RuntimeError(error_message) def get_env_name_from_yml(yml_filepath): """Extracts name field value defined inside an environment definition yaml.""" import yaml with open(yml_filepath, encoding='utf-8') as f: content = yaml.safe_load(f.read()) return content.get('name', '<unnamed>') if __name__ == "__main__": path_to_your_yaml = "/path/to/fsl-6.0.7.17_linux-64.yml" recreate_conda_env(path_to_yml) ``` ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值