Android:安装 APK 时出错

Android: Error while installing APKs

我正在慢慢地尝试在 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_width="wrap_content"
        android:layout_height="wrap_content"
        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_width="wrap_content"
        android:layout_height="wrap_content"
        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>

按照以下步骤解决问题。

  1. 断开所有连接到系统的设备,并关闭系统上的所有模拟器运行。
  2. 从设置中关闭 Instant 运行 功能。
  3. 执行干净的构建。
  4. 从设置中打开即时 运行 功能。
  5. 执行干净的构建。
  6. 连接您的 device/start 模拟器并确保它在线。
  7. 运行 通过选择 device/emulator 项目。

注:

1) 你不应该在系统上有不同的 Android Debug Bridge(adb) 运行 实例。

2) 如果使用 Genymotion,请确保使用 Genymotion 设置中提到的自定义 sdk 路径,您在 Android Studio 的设置中提到过。

这些步骤可能会解决您的问题,但也可能是 android 版本的问题。

可能是 Android 工作室版本 2.3 和 gradle 插件版本 2.3.0 与即时 运行 的 Xiaomi 设备的兼容性上。

adb multiple-install 拆分的 apks return 错误。

您可以关闭即时 运行,或者在 Settings -> Developer options 中,如果您还需要即时 运行,请关闭 Turn on MIUI optimization

对于 Redmi 和 Mi 设备关闭 MIUI 优化并重新启动您的 phone。

设置 > 其他设置 > 开发者选项 > MIUI 优化

关闭 Android Studio 中的 Instant 运行。按照以下步骤操作:

  1. File >> Settings >> Build, Execution, Deployment.

  2. 点击Instant 运行并取消勾选“Enable Instant 运行 hot swap code/resource部署更改".

  3. 单击“应用”和“确定”。

再次尝试 运行 该应用程序。现在应该安装该应用程序。您可以随时重新启用 Instant 运行。

编辑(Android Studio 3.0)

禁用即时 运行 (Android Document)

禁用即时 运行:

  1. 打开设置首选项对话框。 (对于 Mac、Android Studio -> 首选项
  2. 导航至 构建、执行、部署 > 即时 运行.
  3. 取消选中 启用即时 运行.
  4. 旁边的复选框

我现在遇到这个问题,我已经把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 告诉我 "It is possible that this issue is resolved by uninstalling an existing version of the apk if it is present, and then re-installing." 但我已经卸载了这个 apk。

然后我点击了"OK"按钮,但是也失败了。

$ adb shell pm uninstall com.package
Unknown failure (at android.os.Binder.execTransact(Binder.java:565))
Error while Installing APK

最后我找到了解决这个问题的方法,我没有开机"Verify apps over USB",因为现在这个设备只有你登录小米账户才能开机,而且这是一个没有的新设备已登录。

第一步:进入“设置”→在系统中找到“开发者选项”,点击

第 2 步:在调试部分打开“通过 USB 验证应用程序”

第 3 步:在 Android Studio 中再次尝试“运行 应用程序”!

对我来说,我刚刚为应用程序做了一个 clean 然后一切正常。

可能是您的设备存储空间已满。如果您在物理设备上进行测试。 但是,如果您在模拟器中进行测试,那么还要检查存储 space 是否可用。否则,你必须 turn-off Instant 运行.

我在新设备上安装应用程序时也遇到了同样的问题。当 os 不允许应用程序安装时,通常会发生此错误。 这可能是因为您可能无权从任何来源在您的 phone 上安装该应用程序。

所以请尝试在开发人员选项中检查 allow install apps via usb。 如果这不起作用,请尝试撤销所有 usb debugging authorizations,然后尝试安装并在询问时提供权限。

如果这也不能解决问题,请尝试禁用即时 运行,如上述答案之一所述。

我遇到了同样的问题,但我的问题是设备上缺少 space。

试试这个 在您的设备上转到设置 -> 设备维护 -> 立即优化

完成后,重试。

在尝试上述所有建议之前,检查设备 中是否有足够的可用内存space。这也会导致这个问题。

Error: android.os.ParcelableException: java.io.IOException: Requested internal only, but not enough space

编码愉快:)

在 Android Studio 中关闭 Instant 运行。 按照以下步骤操作:

  • 旧版本 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) 禁用即时 运行(默认)

禁用即时 运行:

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

  • 导航到 Build, Execution, Deployment > Instant Run

  • 取消选中“启用即时”旁边的框 运行。

  • 清理项目并再次尝试 运行 应用程序。它现在应该 install 应用程序。您可以随时重新 enable Instant Run

我曾经清理项目并解决了这个问题。

构建 -> 清理项目。

断开 divice 与系统的连接,然后在 Android studio 转到文件 ->使缓存无效and/Restart。 它有效....

简单直接的答案...

取消选中 Instant 运行 如下...

步骤:文件>>设置>>构建、执行、部署>>取消选中启用即时 运行 热插拔 code/resource 部署更改(默认启用)。

第 2 步:应用并单击“确定”

第 3 步:运行 项目...

努力工作....@Ambilpura

您可以尝试删除设备上的所有应用程序。

我正在使用 Android 模拟器,我通过以下方式删除了我的应用程序; 设置 > 应用和通知 > select 你的应用 > 卸载.

您可以按照此步骤重新检查 Instant 运行:

  1. 文件 >> 设置 >> 构建、执行、部署。
  2. 点击 Instant 运行 并取消选中“Enable Instant 运行 hot swap code/resource 部署时发生变化”。
  3. 单击 "Apply" 和 "OK"。

但有时重新检查不起作用。

那个时候你需要暂时禁用你的 AntiVirus 和 Windows Defender 如果你 运行 你在 WIN PC 中的部署

按照以下步骤操作:

  1. 禁用您的防病毒软件或 Windows Defender 15/30 分钟
  2. 执行干净的构建。
  3. 重建项目
  4. 运行 模拟器或设备中的项目

注:

  • \app\build\intermediates\split-apk\debug\slices\slice_5.apk 受到一些恶意软件的影响。

经常出现这个问题的原因有这两个。

  1. 当您的设备存储空间不足时
  2. 您的设备未与 android studio 正确连接

我通过禁用 selinux 设法修复了“com.android.ddmlib.InstallException:未知故障:cmd:调用服务包失败:交易失败”错误。

使用JuiceSSH或Temux访问本地设备的shell,然后运行:

setenforce 0

无需关闭 MIUI 优化