Android:安装 APK 时出错
Posted
技术标签:
【中文标题】Android:安装 APK 时出错【英文标题】:Android: Error while installing APKs 【发布时间】:2017-08-04 13:11:11 【问题描述】:我正在慢慢尝试在android Studio
中做一些简单的任务。以下应用程序安装在模拟器上,没有任何错误。但是当我尝试在真机 Redmi 3S 上安装它时,出现了这个错误:
Unknown failure (Failure - not installed for 0)
Error while Installing APKs
我在这里遇到了类似的问题,但在这些情况下,错误是由于未启用调试或不接受应用安装引起的。但是,我允许调试,并且我还尝试在 Studio 中安装 其他一些应用程序,它运行良好。
所以问题可能是,代码有什么问题。
MainActivity.java
package tlacitko.button;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
public class MainActivity extends AppCompatActivity
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
public void sendMessage(View view)
new Thread(new Runnable()
public void run()
runOnUiThread(new Runnable()
@Override
public void run()
try
URL url = new URL("http://147.32.186.51:8080");
// HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
InputStream is = url.openStream();
BufferedReader br = new BufferedReader(new
InputStreamReader(is));
String s = "";
catch(MalformedURLException ex)
catch(IOException e)
);
).start();
还有xml代码:
activity_main.xml
<TextView
android:layout_
android:layout_
android:text="Try to connect the server."
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/button"
android:layout_
android:layout_
android:layout_marginLeft="16dp"
android:layout_marginRight="7dp"
android:layout_marginTop="16dp"
android:onClick="sendMessage"
android:text="Conncect"
app:layout_constraintLeft_toRightOf="@+id/editText"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>
【问题讨论】:
请检查是否存在同名应用程序,如果有请卸载重试。 重建并运行 @ShantoGeorge 没有同名的应用。 我没有看到上面的代码有任何明显错误,请确认您的应用程序 manifest.xml 文件不是导致应用程序无法安装的原因,确保所有最低版本都设置为您的设备,并且该设备允许安装未知的 apk 文件。 @diegeelvis_SA 已解决。谢谢你。允许的 xml 和未知 apk 没有任何问题。 【参考方案1】:我已经设法通过禁用 selinux 来修复“com.android.ddmlib.InstallException: Unknown failure: cmd: Failure calling service package: Failed transaction”错误。
使用 JuiceSSH 或 Temux 访问本地设备的 shell,然后运行:
setenforce 0
无需关闭 MIUI 优化
【讨论】:
【参考方案2】:这个问题通常是由于这两个原因造成的。
-
当您的设备存储空间较少时
您的设备未与 android studio 正确连接
【讨论】:
【参考方案3】:您可以尝试删除设备上的所有应用程序。
我正在使用 Android 模拟器,我通过以下方式删除了我的应用程序; 设置 > 应用和通知 > 选择您的应用 > 卸载。
【讨论】:
【参考方案4】:您可以按照此步骤重新检查Instant Run:
-
文件 >> 设置 >> 构建、执行、部署。
点击 Instant Run 并取消勾选“Enable Instant Run to hot swap code/resource
部署时的更改”。
点击“应用”和“确定”。
但有时重新检查不起作用。
如果您在 WIN PC 中运行部署,您需要暂时禁用您的防病毒软件和 Windows Defender
按照以下步骤操作:
-
禁用您的防病毒软件或 Windows Defender 15/30 分钟
执行干净的构建。
重建项目
将项目运行到您的模拟器或设备中
注意:
\app\build\intermediates\split-apk\debug\slices\slice_5.apk 受到一些恶意软件的影响。【讨论】:
【参考方案5】:按照这些步骤来解决问题。
-
断开连接到系统的所有设备,并关闭系统上运行的所有模拟器。
从设置中关闭 Instant Run 功能。
执行干净的构建。
从设置中开启 Instant Run 功能。
执行干净的构建。
连接您的设备/启动您的模拟器并确保它在线。
通过选择设备/模拟器运行项目。
注意:
1) 您不应在系统上运行不同的 Android Debug Bridge(adb) 实例。
2) 如果使用 Genymotion,请确保使用您在 Android Studio 设置中提到的 Genymotion 设置中提到的自定义 sdk 路径。
这些步骤可能会解决您的问题,但也可能是 android 版本的问题。
【讨论】:
我正在使用 genymotion。其他应用程序工作正常。但只有应用程序没有安装。虚拟设备是 android 8.0。安装 apk 时出错 清理构建和重建修复了安装 apk 失败的问题。谢谢! 谢谢!现在按照这些步骤,我可以构建和使用即时运行功能。这就是问题所在,缓存。谢谢! 在我的情况下,这是手机的记忆力差。我释放了空间,它起作用了。如果它对某人有用.. 在哪里可以找到“即时运行”功能/选项?【参考方案6】:简单直接的答案...
取消选中 Instant Run 如下...
步骤:文件>>设置>>构建,执行,部署>>取消选中启用即时运行以在部署时热交换代码/资源更改(默认启用)。
第 2 步:应用并单击确定
第 3 步:运行项目...
确保工作......@Ambilpura
【讨论】:
【参考方案7】:断开设备与系统和Android Studio中的文件 ->使缓存无效和/重新启动。 它有效....
【讨论】:
【参考方案8】:我曾经清理过项目并修复了这个问题。
构建 -> 清理项目。
【讨论】:
【参考方案9】:在 Android Studio 中关闭 Instant Run。 按照以下步骤操作:
适用于旧版 Android Studio (Version < Android Studio 3.0
)
文件 >> 设置 >> 构建、执行、部署。
点击Instant Run
并取消勾选所有Enable Instant Run to hot swap code/resource changes on deploy
。
点击应用和确定。
再次尝试运行应用程序。它现在应该安装该应用程序。您可以随时重新启用Instant Run
。
对于新用户 (Android Studio 3.0
) 禁用即时运行(默认)
禁用 Instant Run:
打开Settings
或Preferences dialog
。 (对于 Mac,Android Studio -> 首选项)
导航到Build, Execution, Deployment > Instant Run
。
取消选中启用即时运行旁边的框。
清理项目并再次尝试运行应用程序。现在应该install
应用程序。您可以随时再次enable Instant Run
。
【讨论】:
尝试突出显示关键字并明确格式,这将有助于为其他人找到答案【参考方案10】:在尝试上述所有建议之前,检查设备中是否有足够的可用内存空间。这也会导致这个问题。
错误:android.os.ParcelableException:java.io.IOException:仅在内部请求,但空间不足
编码愉快:)
【讨论】:
【参考方案11】:我遇到了同样的问题,但我的问题是设备空间不足。
试试这个 在您的设备上转到设置 -> 设备维护 -> 立即优化
完成后,再试一次。
【讨论】:
【参考方案12】:在 Android Studio 中关闭 Instant Run。请按照以下步骤操作:
文件 >> 设置 >> 构建、执行、部署。
点击Instant Run并取消勾选“Enable Instant Run to hot swap code/resource changes on deploy”。
点击“应用”和“确定”。
再次尝试运行该应用程序。它现在应该安装该应用程序。您可以随时重新启用 Instant Run。
编辑(Android Studio 3.0)
禁用即时运行 (Android Document)
禁用即时运行:
-
打开设置或首选项对话框。 (对于 Mac,Android Studio -> 首选项)
导航到构建、执行、部署 > 即时运行。
取消选中启用即时运行旁边的复选框。
【讨论】:
这解决了我的问题,Android Studio 中的原始错误消息是Unknown failure (at android.os.Binder.execTransact(Binder.java:565)
我尝试了第一个和第二个答案,然后看到android studio显示我的模拟器设备内部大小不够,我调整大小并重新启动设备,现在它可以工作了。【参考方案13】:
我在新设备上安装应用程序时也遇到了同样的问题。当操作系统不允许安装应用程序时,通常会发生此错误。 这可能是因为您可能无权在手机上安装任何来源的应用程序。
所以请尝试在开发者选项中检查allow install apps via usb
。
如果这不起作用,请尝试撤销所有 usb debugging authorizations
,然后尝试安装并在询问时提供权限。
如果这也不能解决问题,请尝试按照上述答案之一中的说明禁用即时运行。
【讨论】:
【参考方案14】:可能是您的设备存储空间已满。如果您在物理设备上进行测试。 但是,如果您在模拟器中进行测试,那么还要检查那里的存储空间是否可用。否则,您必须关闭 Instant Run。
【讨论】:
【参考方案15】:对我来说,我只是为应用程序做了一个 clean,然后一切正常。
【讨论】:
就我而言,我只是压缩了现有项目而不删除build
文件夹,然后将其复制到另一台笔记本电脑并在模拟器中执行它并发生了。我刚刚像这个答案一样执行了clean
,现在一切正常。【参考方案16】:
我现在遇到这个问题,我已经卸载了apk,现在我用Android Studio 3.0想运行apk到小米MIX 2(Android 7.1.1, API 25),但是失败了。
$ adb shell pm install -t -r "/data/local/tmp/com.package"
Failure [INSTALL_FAILED_USER_RESTRICTED: Install canceled by user]
Android Studio 告诉我“有可能通过卸载现有版本的 apk(如果存在)然后重新安装来解决此问题。”但我已经卸载了这个 apk。
我点击“确定”按钮,但也失败了。
$ adb shell pm uninstall com.package
Unknown failure (at android.os.Binder.execTransact(Binder.java:565))
Error while Installing APK
最后我找到解决这个问题的方法,我没有打开“通过USB验证应用程序”,因为现在这个设备在你登录小米帐户之前无法打开它,而且这是一个新设备,还没有已登录。
第一步:进入“设置”→在系统中找到“开发者选项”,点击。
第 2 步:在调试部分打开“通过 USB 验证应用程序”。
第 3 步:再次尝试在 Android Studio 中“运行应用”!
【讨论】:
【参考方案17】:对于 Redmi 和 Mi 设备,请关闭 MIUI 优化并重新启动您的手机。
设置>附加设置>开发者选项>MIUI优化
Check Answer here
【讨论】:
【参考方案18】:这可能是与 Android studio 版本 2.3
和 gradle 插件版本 2.3.0
的 Xiaomi
设备的兼容性,即时运行。
adb multiple-install
拆分后的apk返回错误。
你可以关闭即时运行,或者在Settings
-> Developer options
,如果你也想即时运行,关闭Turn on MIUI optimization
。
【讨论】:
以上是关于Android:安装 APK 时出错的主要内容,如果未能解决你的问题,请参考以下文章
生成签名的 APK:构建 APK Android Studio 时出错
Android - 使用 apktool 将项目构建为 APK 文件时出错