通过 Android Studio 安装的 Android 应用不会独立安装
Posted
技术标签:
【中文标题】通过 Android Studio 安装的 Android 应用不会独立安装【英文标题】:Android app that installs thro' Android studio doesn't install independently 【发布时间】:2021-09-20 23:38:08 【问题描述】:我使用 android studio 创建了一个应用程序,我可以在开发人员模式下在两台设备(手机)上从 android studio 安装和运行它。
但是,当我从项目文件夹中取出相同的apk
文件并将其传输到设备并尝试安装它们时,我只是收到错误消息,显示“未安装应用程序”(在一台设备上)或“应用程序文件”似乎已损坏”(第一次尝试安装时)或“解析时出错”(稍后尝试)。如何纠正这种情况?
我尝试通过笔式驱动器或共享驱动器(如一个驱动器)传输它。结果是一样的。
Stack overflow 或其他网站中的现有解决方案似乎都没有帮助。
【问题讨论】:
打开logcat,出现在底部,然后尝试安装文件。在崩溃的地方发布日志。如果不查看代码或 log cat 文件,几乎不可能说出其背后的原因。 Logcat 在 Android Studio 中。我从 Android Studio 安装到移动设备上没有问题。当我这样做时,Logcat 也没有任何消息(我刚刚检查过)。只有当我尝试从下载文件夹、whatsapp 或共享驱动器等在移动设备上安装 .apk 文件时,我才会遇到问题。我正在尝试这样做是因为我想请我的朋友检查他们的移动设备上的应用程序向他们发送未签名开发版本的 .apk 【参考方案1】:从问题的上下文来看,出现了三种情况:-
-
Android Studio 创建未签名的 APK。
SDK 版本不兼容。
手机不允许从未知来源安装。
Android Studio 创建未签名的 APK
未签名的 APK 不会在模拟器或实际设备上运行。通常,应用程序导出为签名包应用程序。但万一不是,那就可以改了。
-
转到“项目”
点击“Android 工具”
导出`签名的应用程序`
SDK 版本不兼容
可能出现的另一种情况是minSdkVersion
和targetSdkVersion
之间的差异。
问题是,.apk
文件是使用更高版本的 SDK 创建的,而手机运行的是更低版本的 SDK
要更改它,请考虑这样做:
-
转到
Gradle Scripts
打开build.gradle
(模块)
在那里,进行必要的更改,例如:
defaultConfig
...
minSdkVersion 16
targetSdkVersion 30
...
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
这可能是非正式的,但我始终保持minSdkVersion
小于targetSdkVersion
,最小差为 10。
手机不允许从未知来源安装
这是.apk
文件无法安装在您的独立设备上的最常见原因之一。
所以考虑更改设置:
-
打开
Settings
打开Security and Privacy
在App Installation
下选择Unknown source installations
。
如果您要从另一个应用程序(例如 WhatsApp
)下载 .apk
文件,请选择该特定应用程序。
注意:这可能因设备而异。但在大多数设备上,它都可以工作。
替代
如果以上都不起作用,请执行以下操作:-
-
转到
File
-> Invalidate cache and restart
转到Build
然后Build APK(s)
构建完成后,点击定位并继续安装。
【讨论】:
您好,关于您提到的 3 种情况,- 2 不是原因,因为它是在我从 Android Studio 在移动设备上运行时运行的。 - 3也不是原因,因为我已经采取了你提到的步骤。 - 1,我认为调试版本不是签名版本但关键是当我尝试安装时,它说“应用程序文件可能已损坏”或“解析时出错”,尽管我使用相同的 .apk 文件运行来自安卓工作室。调试版本不能在 Android Studio 之外运行吗?无论如何,我找不到您提到的要签名的菜单项。 @HariMannarsamy 添加了第四个解决方案,看看它是否有效。 嘿 ILoveLogCat,它终于像魔术一样工作了!!!非常感谢。希望我不必为每次构建都继续这样做,但是那很好,如果我必须分享的话。再次感谢! 太好了。您可以接受它作为答案,以便将来对其他人有所帮助。以上是关于通过 Android Studio 安装的 Android 应用不会独立安装的主要内容,如果未能解决你的问题,请参考以下文章
android studio 的模拟器没有启动颤振应用程序(错误)