android - Android“未安装应用程序”错误 - 无法删除 .tmp 文件
问题描述
我正在尝试通过下载 apk 并打开来更新我的应用程序。但响应消息是“未安装应用程序”。
日志错误:
2020-12-10 13:49:26.822 1628-1654/? W/PackageManager: Package br.com.app signatures do not match the previously installed version; ignoring!
2020-12-10 13:49:26.827 1503-1523/? E/installd: Failed to delete /data/app/vmdl128035576.tmp: No such file or directory
2020-12-10 13:49:26.837 1628-5285/? I/ActivityManager: START u0 {dat=file:///data/user_de/0/com.google.android.packageinstaller/no_backup/package2911160709080656908.apk flg=0x2000000 cmp=com.google.android.packageinstaller/com.android.packageinstaller.InstallFailed (has extras)} from uid 10019
2020-12-10 13:49:26.928 10096-10096/? D/InstallFailed: Installation status code: 1
清单上的权限:
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
仅当我生成签名的 apk(使用 v1 和 v2 签名)时才会发生此错误。
PS:已经尝试输入“android:testOnly=false”(在 Manifest 和 gradle.properties 上)
解决方案
我记得几个月前我遇到过这个问题,这对我来说是一场灾难,最后我意识到我已经使用不同的签名密钥签署并部署了我的应用程序,所以我无法更新我的应用程序,因为它在更新后停止了,我应该删除我的应用程序然后重新安装它。您还可以在更新应用程序时使用 ADB 查看实际日志,它位于您的 android studio 安装文件所在的 PC 上,您可以运行它并查看日志。ADB 是将您的 PC 连接到您的 android 手机的桥梁,它比您的 android studio logcat 为您提供更多关于实际发生的事情的信息。我猜您可能遇到的另一个问题是您没有正确更新数据库版本号,并且您的数据库版本号之间可能存在冲突,但这只是一个猜测。
推荐阅读
- wordpress - 检索帖子数
- iis - Exchange 本地 OWA REST API 未正确处理 CORS 预检
- c# - 有没有办法限制脚本只能由 Unity 中的单个游戏对象使用?
- python - 如何编写正则表达式以返回由 OR 运算符分隔的两组字符之间的所有字符?
- python - 隐藏行网络抓取 html 表的问题
- c# - 在 ASP.NET 中使用 HTML POST 注册用户的问题
- python - 根据数据框上的值创建一个新列 - Pandas
- mysql - 如何发布数据以加入数据库 CodeIgniter
- python - plt:IndexError:数组索引过多
- save - 如何将 MKMapView 中绘制的路线保存为核心数据?