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 &lt; 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:

打开SettingsPreferences dialog。 (对于 Mac,Android Studio -> 首选项)

导航到Build, Execution, Deployment &gt; 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.0Xiaomi 设备的兼容性,即时运行。

adb multiple-install拆分后的apk返回错误。

你可以关闭即时运行,或者在Settings -> Developer options,如果你也想即时运行,关闭Turn on MIUI optimization

【讨论】:

以上是关于Android:安装 APK 时出错的主要内容,如果未能解决你的问题,请参考以下文章

Google Glass - 安装 APK 时出错

会话'app':安装APK时出错

生成签名的 APK:构建 APK Android Studio 时出错

Android - 使用 apktool 将项目构建为 APK 文件时出错

在 Android Studio 中构建 APK 文件时出错

会话“应用程序”:安装 APK 时出错