当前位置: 首页 > news >正文

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 使用 Java 初步搭建简单Spring 项目框架:
  • Docker和K8S
  • 车辆重识别(关于卷积神经网络一些资料)2024/9/11
  • 【454. 四数相加 II】
  • 【设计模式-外观】
  • 解密AI创作:提升Prompt提示词的提问技巧
  • 《Google软件测试之道》笔记
  • 软考 -- 软件设计师 -- 二轮复习(3) -- 数据结构(持续更新)
  • VMware网络配置
  • Redis的C客户端(hiredis库)使用
  • 深入解析:如何通过网络命名空间跟踪单个进程的网络活动(C/C++代码实现)
  • PostgreSQL的walsender和walreceiver进程介绍
  • ubuntu20.04/22.04/24.04 docker 容器安装方法
  • 借助大模型将文档转换为视频
  • 【测试开岗面试】知识点总结
  • Docker 1.12实践:Docker Service、Stack与分布式应用捆绑包
  • Fastjson的基本使用方法大全
  • iBatis和MyBatis在使用ResultMap对应关系时的区别
  • js作用域和this的理解
  • php面试题 汇集2
  • Python打包系统简单入门
  • rabbitmq延迟消息示例
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • 经典排序算法及其 Java 实现
  • 码农张的Bug人生 - 初来乍到
  • 前端 CSS : 5# 纯 CSS 实现24小时超市
  • 山寨一个 Promise
  • 怎样选择前端框架
  • Android开发者必备:推荐一款助力开发的开源APP
  • ​字​节​一​面​
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • $分析了六十多年间100万字的政府工作报告,我看到了这样的变迁
  • (C语言)共用体union的用法举例
  • (C语言)球球大作战
  • (板子)A* astar算法,AcWing第k短路+八数码 带注释
  • (不用互三)AI绘画工具应该如何选择
  • (附源码)ssm旅游企业财务管理系统 毕业设计 102100
  • (黑马C++)L06 重载与继承
  • (十一)JAVA springboot ssm b2b2c多用户商城系统源码:服务网关Zuul高级篇
  • (一)Mocha源码阅读: 项目结构及命令行启动
  • .“空心村”成因分析及解决对策122344
  • .bat批处理(四):路径相关%cd%和%~dp0的区别
  • .net 8 发布了,试下微软最近强推的MAUI
  • .net php 通信,flash与asp/php/asp.net通信的方法
  • .NET 使用 XPath 来读写 XML 文件
  • .NET处理HTTP请求
  • /etc/fstab 只读无法修改的解决办法
  • @Mapper作用
  • @selector(..)警告提示
  • [20171113]修改表结构删除列相关问题4.txt
  • [20180129]bash显示path环境变量.txt
  • [2019/05/17]解决springboot测试List接口时JSON传参异常
  • [ASP]青辰网络考试管理系统NES X3.5
  • [BZOJ 4129]Haruna’s Breakfast(树上带修改莫队)
  • [C++] cout、wcout无法正常输出中文字符问题的深入调查(1):各种编译器测试