Android 系统下:普通应用无缝安装,Launcher 应用安装遭遇罕见障碍解析
目录
一、场景
1.1 错误分析
1.2 解决方法尝试
1.2.1 检查应用的安装位置
1.2.2 使用ADB安装
1.2.3 检查APK的签名
1.2.4 检查可用的内部存储空间
1.2.5 将应用程序安装到设备的内部存储空间
1.2.6 重置设备(谨慎使用)
1.2.7 获取Root权限(谨慎使用)
1.3 结束(解决方案)
往期推荐
一、场景
需要给一台 Android 10 设备(智能一体机,类似下图) 安装一个主屏幕应用。

普通应用:这些应用通常执行特定的功能或任务,如社交媒体、游戏、办公软件等。它们专注于为用户提供某一方面的服务或体验,并不直接参与系统级别的用户界面管理。
主屏幕应用(Launcher):作为Android设备的用户界面管理器,Launcher负责管理和呈现用户界面,包括桌面、应用程序抽屉和部件。它允许用户自定义手机的主屏幕、图标、小部件布局以及一些基本功能,如滑动效果和屏幕转换。每个Android设备通常都会预装一个默认的Launcher,但用户可以从应用商店下载并安装第三方Launcher来获得更多的个性化选项和功能。
安装普通应用没有问题,如果安装主屏幕应用报错:
Installation did not succeed.
The application could not be installed: INSTALL_FAILED_INVALID_INSTALL_LOCATIONList of apks:
[0] 'xxxxxx.apk'
Installation failed due to: 'Failed to commit install session 1106047452 with command package install-commit 1106047452. Error: INSTALL_FAILED_INVALID_INSTALL_LOCATION: Cannot install updates to system or vendor apps on sdcard'
Retry
Failed to launch an application on all devices
1.1 错误分析
通常发生在尝试更新或安装一个被系统或设备制造商标记为系统或供应商级别的应用程序时,而你试图将其安装到SD卡上。这是一种安全措施,目的是防止对系统或供应商应用程序进行未经授权的更改。
在Android设备上,不是所有的应用都可以被安装到外部存储(如SD卡),尤其是系统应用或具有特殊权限的应用。
1.2 解决方法尝试
1.2.1 检查应用的安装位置
确保你没有尝试将应用安装到SD卡。在Android设备上,通常可以在“设置”->“应用”->选择应用->“存储”中查看和修改应用的安装位置(如果允许)。但是,对于系统或供应商应用,这个选项可能不可用。
注:我这个软件安装没问题,桌面应用被限制了,此方法对我无效。
1.2.2 使用ADB安装
使用ADB(Android Debug Bridge)来安装应用,尝试使用 -r 参数(允许替换已存在的应用)但不指定安装位置(即不使用 -s 参数)。通常,使用如下命令安装应用:
adb install -r xxxx.apk
注:如果没有root权限,这个命令只能用于安装或更新非系统应用。跟1.2.1 类似,此方法对我无效。
1.2.3 检查APK的签名
确保你正在尝试安装的APK的签名与已安装的系统或供应商应用的签名相匹配。如果签名不匹配,你将无法更新该应用(如果是可卸载),如果被内置为系统应用,即时卸载也无法安装。遇到过类似的问题,通过重装系统解决了。
1.2.4 检查可用的内部存储空间
确保手机的内部存储空间足够容纳更新。删除不需要的文件或应用程序以释放空间。
1.2.5 将应用程序安装到设备的内部存储空间
将应用程序安装到设备的内部存储空间:在AndroidManifest.xml文件中,确保您的应用程序的android:installLocation属性设置为internalOnly。这将强制应用程序仅安装在设备的内部存储中,而不是SD卡上。
注:跟1.2.1 类似,此方法对我无效。
1.2.6 重置设备(谨慎使用)
如果以上方法都不可行,并且问题持续存在,可能需要考虑重置设备到出厂设置。请注意,这将清除所有数据和设置,因此请确保先备份重要数据。
1.2.7 获取Root权限(谨慎使用)
如果你有Root权限,你可以尝试将应用直接推送到系统分区或使用具有root权限的APK安装器。但请注意,这样做可能会带来安全风险,并可能影响设备的稳定性。
1.3 结束(解决方案)
该问题是设备在操作系统层面上禁止非指定包名的桌面应用安装。我将系统自带桌面移除,也无法安装的自己的桌面应用,重新安装系统自带桌面成功。
解决方案1:设备厂商允许安装自己的桌面(厂商收费略高)。
解决方案2:自己刷机,重新烧录一下操作系统(当前采用方式)。
解决方案3:获取Root权限,自己玩可以,商用肯定不合适。
往期推荐
Android The emulator process for AVD XXX has terminated.-CSDN博客文章浏览阅读2.1w次,点赞8次,收藏35次。1、释放PC空间(可能磁盘空间不足)2、将CPU/ABI设置从“ armeabi-v7a ”更改为“ x86_64 ”3、清除模拟器的数据解决了这个问题,然后重新启动了模拟器4、AVD卸载重装,并重启AS5、版本过高,降级模拟器版本。6、检查是否含有中文。_the emulator process for avdhttps://shuaici.blog.csdn.net/article/details/120164749Android Studio无法连接模拟器(真机)-CSDN博客文章浏览阅读4.9k次,点赞3次,收藏9次。本文主要介绍了在Android开发过程中遇到的adb连接问题及其解决方案,包括找不到模拟器或真机、adb命令报错如'command not found'、'Operation timed out'、'device not found'和'protocol family unavailable'等错误的处理方法,提供了详细的步骤和命令示例。
https://shuaici.blog.csdn.net/article/details/116780929
相关文章:
Android 系统下:普通应用无缝安装,Launcher 应用安装遭遇罕见障碍解析
目录 一、场景 1.1 错误分析 1.2 解决方法尝试 1.2.1 检查应用的安装位置 1.2.2 使用ADB安装 1.2.3 检查APK的签名 1.2.4 检查可用的内部存储空间 1.2.5 将应用程序安装到设备的内部存储空间 1.2.6 重置设备(谨慎使用) 1.2.7 获取Root权限&…...
VMware vCenter Server 8.0U3b 发布下载,新增功能概览
VMware vCenter Server 8.0U3b 发布下载,新增功能概览 Server Management Software | vCenter 请访问原文链接:https://sysin.org/blog/vmware-vcenter-8-u3/,查看最新版。原创作品,转载请保留出处。 作者主页:sysi…...
Unity 百度AI实现无绿幕拍照抠像功能(详解版)
目录 一、前言 1.抠像效果 2.去哪找百度ai抠图 3.基础流程跳过 二、获取AccessToken 1.什么是Token 2.为什么要获取Token 3.如何获取token 4.解析json 5.完整代码 三、抠像 1.准备地址 2.建立链接,和基本配置 3.图片格式转换 4.开始上传 5.获取回复…...
MySQL_表的基本操作
课 程 推 荐我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈虚 拟 环 境 搭 建 :…...
【网站架构部署与优化】源码编译安装LAMP
文章目录 LAMP架构概述各组件的主要作用构建LAMP平台的安装顺序 编译安装Apache httpd服务指南1. 准备工作1.1 关闭防火墙并传输软件包1.2 安装环境依赖包 2. 配置软件模块2.1 解压软件包2.2 移动apr组件包2.3 配置httpd 3. 编译及安装4. 优化配置4.1 配置文件路径4.2 添加http…...
【Linux】Linux的基本指令(1)
A clown is always a clown.💓💓💓 目录 ✨说在前面 🍋知识点一:Linux的背景 •🌰1.Unix发展的历史 •🌰2.Linux发展历史 •🌰3.企业应用现状 •🌰4.发行版本 &…...
Python安装虚拟环境Conda
这里写自定义目录标题 Conda介绍Conda下载与安装下载地址安装检查是否安装成功Conda中的几个重要目录 envs、pkgspkgs文件夹envs文件夹 Conda 使用教学查看 Conda 自带库配置下载源设置下载时显示通道地址创建Conda 环境查看Conda 环境克隆环境Conda 环境导出环境配置从配置文件…...
基于STM32设计的烘干车间远程控制系统(腾讯云IOT)(228)
文章目录 一、前言1.1 项目介绍【1】项目背景【2】设计实现的功能【3】项目硬件模块组成1.2 设计思路【1】整体设计思路【2】ESP8266工作模式配置1.3 项目开发背景【1】选题的意义【2】可行性分析【3】参考文献【4】项目背景【5】摘要1.4 开发工具的选择【1】设备端开发【2】上…...
Nginx泛域名 解析的匹配前缀绑定或转发到子目录
网站的目录结构为: # tree /home/wwwroot/landui.com /home/wwwroot/landui.com ├── bbs │ └── index.html └── www └── index.html 2 directories, 2 files /home/wwwroot/landui.com为nginx的安装目录下默认的存放源代码的路径。 bbs为论坛…...
黑神话悟空mac可以玩吗
黑神话悟空mac上能不能玩对于苹果玩家来说很重要,那么黑神话悟空mac可以玩吗?目前是玩不了了,没有针对ios系统的版本,只能之后在云平台上找找了,大家可以再观望下看看。 黑神话悟空mac可以玩吗 使用CrossOver&…...
Nuxt Kit 中的插件:创建与使用
title: Nuxt Kit 中的插件:创建与使用 date: 2024/9/19 updated: 2024/9/19 author: cmdragon excerpt: 摘要:本文介绍了在 Nuxt 3 框架中使用 Nuxt Kit 创建和管理插件的方法,包括使用addPlugin注册插件、创建插件文件、在Vue组件中使用插件,以及使用addPluginTemplate…...
C++(虚构造与虚析构/类型信息运算符/强制类型转换)
一、虚构造与虚析构 1、构造函数能否是虚函数,为什么? 对象有创建过程: 1、给对象分配内存 2、根据继承表顺序调用父类构造 3、根据成员对象的的定义顺序调用成员对象的构造函数 4、执行对象自己的构造函数 如果父类的构造函数函数设计…...
python毕业设计基于django+vue医院社区医疗挂号预约综合管理系统7918h-pycharm-flask
目录 技术栈和环境说明预期达到的目标具体实现截图系统设计Python技术介绍django框架介绍flask框架介绍解决的思路性能/安全/负载方面可行性分析论证python-flask核心代码部分展示python-django核心代码部分展示操作可行性技术路线感恩大学老师和同学详细视频演示源码获取 技术…...
tidb 集群搭建
官网的搭建文档:使用 TiUP 部署 TiDB 集群 | TiDB 文档中心 我本地使用三台 centos7.9 服务器搭建,要保证三台服务器之间是可以互相通信的; 搭建集群的命令在其中一台服务器上执行即可; 1、安装tiup: curl --proto …...
SpringBoot开发——Spring Boot Controller 最佳实践
文章目录 1、RESTful接口地址的定义规则2、设计通用控制器基类3、统一的返回对象设计4、统一的异常处理5、实际案例: 订单控制器 (OrderController)结论 随着微服务架构的普及,RESTful API已经成为现代Web服务的标准设计模式。Spring Boot为开发者提供了强大的工具来…...
使用Ubuntu耳机输出正弦波信号
最近有一个项目想使用喇叭发出一个标准的正弦波测试信号,故记录下操作过程 sudo apt install libasound2-dev 否则有可能会报错: alsaaudio.c:28:10: fatal error: alsa/asoundlib.h: No such file or directory 安装pyalsaaudio: pip …...
Python编程 - 协程
前言 上篇文章主要讲述了python的进程,进程池和进程与线程对比等知识,接下来这篇文章再唠唠python的协程,让我们继续往下看! 一、协程的使用 python 中的协程是一种用于处理并发任务的高效工具,它依赖于 asyncio 库以…...
如何在没有备份的情况下恢复 Mac 上丢失的数据
Mac 是您数字世界的中心。它上面可能保存着照片和视频等回忆,以及您不再联系的朋友和家人发来的旧电子邮件。您可能花了数小时导入整个 CD 收藏。您还可能保存着重要文档,例如演示文稿和工作文件、家庭账户或学校或大学的作业。 如果由于某种原因您丢失…...
SpringBoot:解析excel
解析Excel文件,可以使用Apache POI库 <dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>4.1.2</version> </dependency> 上代码: /*** <b>Functio…...
Tomcat窗口运行修改窗口标题显示项目日期时间
1、修改配置文件catalina.bat文件 在Tomcat路径 bin文件夹下 set TITLETomcat.xxx.Server [%DATE% %TIME%] 显示:Tomcat.xxx,Server [2024/09.18 周三 12:01:30]...
网络编程(Modbus进阶)
思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...
Ubuntu系统下交叉编译openssl
一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机:Ubuntu 20.04.6 LTSHost:ARM32位交叉编译器:arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...
DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径
目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...
代理篇12|深入理解 Vite中的Proxy接口代理配置
在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...
基于 TAPD 进行项目管理
起因 自己写了个小工具,仓库用的Github。之前在用markdown进行需求管理,现在随着功能的增加,感觉有点难以管理了,所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD,需要提供一个企业名新建一个项目&#…...
苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会
在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...
在树莓派上添加音频输入设备的几种方法
在树莓派上添加音频输入设备可以通过以下步骤完成,具体方法取决于设备类型(如USB麦克风、3.5mm接口麦克风或HDMI音频输入)。以下是详细指南: 1. 连接音频输入设备 USB麦克风/声卡:直接插入树莓派的USB接口。3.5mm麦克…...
深入浅出Diffusion模型:从原理到实践的全方位教程
I. 引言:生成式AI的黎明 – Diffusion模型是什么? 近年来,生成式人工智能(Generative AI)领域取得了爆炸性的进展,模型能够根据简单的文本提示创作出逼真的图像、连贯的文本,乃至更多令人惊叹的…...
Axure 下拉框联动
实现选省、选完省之后选对应省份下的市区...
【UE5 C++】通过文件对话框获取选择文件的路径
目录 效果 步骤 源码 效果 步骤 1. 在“xxx.Build.cs”中添加需要使用的模块 ,这里主要使用“DesktopPlatform”模块 2. 添加后闭UE编辑器,右键点击 .uproject 文件,选择 "Generate Visual Studio project files",重…...
