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]...

8-----手机机型维修工具助手 功能较全 涵盖解锁 刷机 修复等选项 维修推荐
上图是一款功能较全的维修加密狗。目前可以无限制 任何人使用。看图片可以了解其中涵盖刷机 解锁 修复分区 查看短接图 安装驱动 修复基带等等选项。而且其中有针对各个机型型号的对应功能操作。以及一些rec5.0相关的操作选项。 通过此博文了解 ★★★★★此工具涵盖的一些…...

集群聊天服务器项目【C++】(四)cmake介绍和简单使用
我们上次用shell命令和vscode编译链接muduo库服务端代码,本章节实现编写CMakeLists.txt来编译项目。本次简单介绍CMake,并用Cmake编译上次的muduo服务器代码。 1.为什么使用cmake 我们在编译项目时,如果编写Makefile的话,常常会…...

Nginx+Tomcat(负载均衡、动静分离)
目录 一、Nginx概述 1.Nginx应用 二、正向代理和反向代理 1.正向代理 1.1主要作用 1.2工作原理 2.反向代理 2.1主要作用 2.2工作原理 三、负载均衡模式 1.轮询 2.最少连接数 3.IP 哈希 4.加权轮询 5.最少时间算法 6.一致性哈希 四、规划部署负载均衡和反向…...

前端分段式渲染较长文章
实现思路: 1. 后端返回整篇文章。 2. JavaScript 分段处理:将文章按一定的字符或段落长度分割,然后逐步将这些段落追加到页面上。 3. 定时器或递归调用:使用 setInterval 或 setTimeout 来控制段落的逐步渲染。 代码实现示例 …...

C#程序员的堕落从nuget开始:将自己的代码发布到nuget
初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的,可以在任何平台上使用。 源码指引:github源…...

【C/C++语言系列】malloc、calloc和realloc区别和用法
这三个函数都是在堆区分配内存的函数,头文件都是: #include<stdlib.h>下面分别介绍这三个函数: malloc: 函数原型: void *malloc(unsigned int num_bytes);功能:堆区开辟一段内存空间 num_nytes&…...

【Linux】POSIX信号量与、基于环形队列实现的生产者消费者模型
目录 一、POSIX信号量概述 信号量的基本概念 信号量在临界区的作用 与互斥锁的比较 信号量的原理 信号量的优势 二、信号量的操作 1、初始化信号量:sem_init 2、信号量申请(P操作):sem_wait 3、信号量的释放(…...

Spring Boot-消息队列相关问题
Spring Boot 消息队列相关问题及解决方案 消息队列(Message Queue, MQ)在分布式系统中的应用越来越广泛,尤其是在解耦系统、异步通信、负载均衡等场景中起到了至关重要的作用。消息队列为不同的服务提供了一种异步通信的机制,使得…...

[数据集][目标检测]岩石种类检测数据集VOC+YOLO格式4766张9类别
数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):4766 标注数量(xml文件个数):4766 标注数量(txt文件个数):4766 标注…...

图像分割基本知识
计算机视觉和图像处理 Tensorflow入门深度神经网络图像分类目标检测图像分割 图像分割 一、目标分割1.1 图像分割的定义1.2 任务类型1.2.1 任务描述1.2.2 任务类型 二、语义分割2.1 FCN网络2.1.1网络结构 2.2 Unet网络 三、UNet案例3.1 数据集获取3.1.1 设置相关信息3.1.2 图像…...