Android: ошибка при установке APK

Я медленно пытаюсь выполнить несколько простых задач в 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>

person Lucie P.    schedule 14.03.2017    source источник
comment
Пожалуйста, проверьте, существует ли какое-либо приложение с таким же именем пакета, если да, удалите его и повторите попытку.   -  person Shanto George    schedule 14.03.2017
comment
Восстановить и запустить   -  person asissuthar    schedule 14.03.2017
comment
@ShantoGeorge Нет такого приложения с таким именем.   -  person Lucie P.    schedule 14.03.2017
comment
Я не вижу ничего явно неправильного в приведенном выше коде, убедитесь, что файл manifest.xml вашего приложения не является причиной того, что приложение не устанавливается, убедитесь, что все минимальные версии установлены на версию вашего устройства и что устройство позволяет установка неизвестных apk файлов.   -  person diegeelvis_SA    schedule 14.03.2017
comment
@diegeelvis_SA Решено. Спасибо. Все было нормально с разрешенными xml и неизвестными apks.   -  person Lucie P.    schedule 14.03.2017
comment
@LucieP. круто, получайте удовольствие от Android, он очень мощный. :)   -  person diegeelvis_SA    schedule 14.03.2017
comment
У меня похожая ошибка. Rebuild исправил это.   -  person Fruit    schedule 19.09.2017
comment
это помогло мне: stackoverflow.com/a/46102740/734028   -  person user734028    schedule 28.08.2018


Ответы (18)


Выполните следующие действия, чтобы решить проблему.

  1. Отключите все устройства, подключенные к системе, и закройте все эмуляторы, работающие в системе.
  2. Отключите функцию мгновенного запуска в настройках.
  3. Выполните чистую сборку.
  4. Включите функцию мгновенного запуска в настройках.
  5. Выполните чистую сборку.
  6. Подключите устройство / запустите эмулятор и убедитесь, что он подключен к сети.
  7. Запустите проект, выбрав устройство / эмулятор.

Примечание.

1) У вас не должно быть разных экземпляров Android Debug Bridge (adb), работающих в системе.

2) Если вы используете Genymotion, убедитесь, что вы используете пользовательский путь sdk, указанный в настройках Genymotion, который вы указали в настройках Android Studio.

Эти шаги могут решить вашу проблему, однако это также может быть проблема с версиями Android.

person JPZ    schedule 14.03.2017
comment
Я использую genymotion. другие приложения работают нормально, но не устанавливается только приложение. Виртуальное устройство - это Android 8.0. ошибка возникает при установке apk - person anju jo; 23.10.2018
comment
Чистая сборка и перестройка исправили проблему с ошибкой установки apk. Спасибо! - person Lulu; 01.01.2019
comment
Спасибо! Следуя этим шагам, теперь я могу создавать и использовать функции мгновенного запуска. Это была проблема кеширования. Спасибо! - person wilmerlpr; 31.01.2019
comment
В моем случае это была плохая память телефона. Я освободил место и все заработало. Если кому-то пригодится .. - person Bogojob; 18.03.2019
comment
где я могу найти функцию / опцию Instant Run? - person Kamlesh; 23.10.2019
comment
Спасибо @Bogojob - это тоже была проблема для меня :) очистка памяти исправила - person eh21; 21.10.2020

Отключите мгновенный запуск в Android Studio. Следуйте инструкциям ниже:

  1. # P2 #
  2. Нажмите Мгновенный запуск и снимите флажок "Включить мгновенный запуск для оперативной замены кода / изменений ресурсов при развертывании".

  3. Нажмите «Применить» и «ОК».

Попробуйте запустить приложение еще раз. Он должен установить приложение сейчас. Вы можете снова включить мгновенный запуск в любое время.

ИЗМЕНИТЬ (Android Studio 3.0)

Отключить мгновенный запуск (Документ Android)

Чтобы отключить мгновенный запуск:

  1. Откройте диалоговое окно Настройки или Настройки. (Для Mac: Android Studio -> Настройки)
  2. Перейдите в раздел Сборка, выполнение, развертывание> Мгновенный запуск.
  3. Снимите флажок рядом с Включить мгновенный запуск.
person Animesh Patra    schedule 29.06.2017
comment
Это решило проблему для меня, исходное сообщение об ошибке в Android Studio было Unknown failure (at android.os.Binder.execTransact(Binder.java:565) - person Yoav Feuerstein; 22.10.2017
comment
Я пробую первый и второй ответ, затем увидел, что студия Android показывает, что моего внутреннего размера устройства эмулятора недостаточно, я изменяю размер и перезагружаю устройство, теперь оно работает. - person Sarah0050; 09.10.2018

Для устройств Redmi и Mi отключите оптимизацию MIUI и перезагрузите телефон.

Настройки> Дополнительные настройки> Параметры разработчика> Оптимизация MIUI

Отметьте ответ здесь

person Mahesh Cheliya    schedule 07.06.2017

Для меня я только что сделал чистое приложение, и все работает нормально.

person Mohammed Salim    schedule 19.02.2018
comment
В моем случае я просто заархивировал существующий проект, не удаляя папку build, скопировал его на другой ноутбук и выполнил его в эмуляторе, и это произошло. Я только что выполнил clean, как этот ответ, и теперь все работает нормально. - person wonsuc; 14.12.2018

Теперь я столкнулся с этой проблемой, я уже удалил apk, теперь я использую Android Studio 3.0, хочу запустить apk для Xiaomi 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.

Всплывающая информация Android Studio

И я нажимаю кнопку «ОК», но это тоже не удалось.

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

И, наконец, я нахожу, как решить эту проблему, я не включаю «Проверять приложения через USB», потому что теперь это устройство не может включить его, пока вы не войдете в учетную запись xiaomi, а это новое устройство, которое не было авторизовано.

Шаг 1. Перейдите в «Настройки» → найдите «Параметры разработчика» в системе и нажмите.

Шаг 2. ВКЛЮЧИТЕ «Проверять приложения через USB» в разделе «Отладка».

Шаг 3. Снова попробуйте «Запустить приложение» в Android Studio!

person Smiles    schedule 28.12.2017

Перед тем, как попробовать все вышеперечисленные предложения, проверьте, достаточно ли свободного места на устройстве. Это также будет причиной этой проблемы.

Ошибка: android.os.ParcelableException: java.io.IOException: запрошено только внутреннее, но недостаточно места

Удачного кодирования :)

person happy_coding    schedule 24.10.2018

Это может быть совместимость с Xiaomi устройствами для Android Studio версии 2.3 и версии плагина gradle 2.3.0 с мгновенным запуском.

adb multiple-install ошибка возврата разделенных apks.

Вы можете отключить мгновенный запуск или в Settings -> Developer options выключить Turn on MIUI optimization, если вы также хотите мгновенный запуск.

person alijandro    schedule 14.03.2017

Возможно, память вашего устройства заполнена. Если вы тестируете на физическом устройстве. Однако, если вы тестируете в эмуляторе, проверьте, доступно ли место для хранения или нет. В противном случае вам придется отключить мгновенный запуск.

person GauRav MisHra    schedule 14.03.2018

Раньше я очищал проект и исправлял эту проблему.

Сборка -> Чистый проект.

person ssowri1    schedule 07.02.2019

У меня была такая же проблема, но моя проблема заключалась в нехватке места на устройстве.

Попробуйте это На вашем устройстве перейдите в Настройки -> Обслуживание устройства -> Оптимизировать сейчас

Как только это будет сделано, попробуйте еще раз.

person Catalin    schedule 16.10.2018

Вы можете выполнить этот шаг, чтобы повторно установить флажок Мгновенный запуск:

  1. Файл >> Настройки >> Сборка, выполнение, развертывание.
  2. Нажмите «Мгновенный запуск» и снимите флажок «Включить мгновенный запуск для оперативной замены кода / изменений ресурсов при развертывании».
  3. Нажмите «Применить» и «ОК».

Но иногда повторная проверка не работает.

В этот раз вам необходимо временно отключить антивирус и Защитник Windows, если вы запускаете развертывание на ПК с WIN.

Выполните следующие действия:

  1. Отключите антивирус или Защитник Windows на 15/30 минут.
  2. Выполните чистую сборку.
  3. Восстановить проект
  4. Запустите проект на своем эмуляторе или на своих устройствах

Примечание.

  • \ app \ build \mediates \ split-apk \ debug \ sloes \ slice_5.apk затронут некоторые вредоносные программы.
person Eshan Chattaraj    schedule 09.06.2019

У меня также возникла та же проблема, когда я устанавливал приложение на новое устройство. Эта ошибка обычно возникает, когда установка приложения запрещена операционной системой. Это может быть связано с тем, что у вас может не быть разрешения на установку приложения на свой телефон из любого источника.

Поэтому попробуйте проверить allow install apps via usb в параметрах разработчика. Если это не сработает, попробуйте отозвать все usb debugging authorizations, а затем попробуйте установить и предоставить разрешение, когда его спросят.

Если и это не помогает, попробуйте отключить мгновенный запуск, как описано в одном из ответов выше.

person arnav    schedule 01.09.2018

Вы можете попробовать удалить все свои приложения на устройстве.

Я использую Android Emulator, я удалил свои приложения через; Настройки> Приложения и уведомления> выберите свое приложение> удалить.

person yusuf    schedule 09.04.2019

Эта проблема часто возникает по этим двум причинам.

  1. когда на вашем устройстве меньше места для хранения
  2. ваше устройство не подключено должным образом к студии Android
person msayubi76    schedule 27.06.2020

Мне удалось исправить com.android.ddmlib.InstallException: Неизвестный сбой: cmd: Ошибка при вызове пакета службы: Ошибка сбойной транзакции, просто отключив selinux.

Используйте JuiceSSH или Temux для доступа к оболочке локального устройства, затем запустите:

setenforce 0

Нет необходимости отключать оптимизацию MIUI

person trinvh    schedule 07.01.2021

Отключите мгновенный запуск в Android Studio. Выполните следующие действия:

  • Для старой версии 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) Отключить мгновенный запуск (по умолчанию)

Чтобы отключить мгновенный запуск:

  • Откройте Settings или Preferences dialog. (Для Mac, Android Studio -> Настройки)

  • Перейдите к Build, Execution, Deployment > Instant Run.

  • Снимите флажок рядом с Enable Instant Run.

  • Очистите проект и попробуйте снова запустить приложение. Оно должно install приложение сейчас. Вы можете повторно enable Instant Run снова в любое время.

person Swapnil Akubattin    schedule 31.01.2019
comment
постарайтесь выделить ключевые слова и четко обозначить формат, это поможет донести ваш ответ до других. - person Agilanbu; 31.01.2019

Отключите divice от системы и в Android studio перейдите в Файл -> Недействительный кэш и / перезапустите . Оно работает....

person VAIBHAV NERLE    schedule 19.03.2019

Простой и прямой ответ ...

Снимите флажок Instant Run, как показано ниже ...

Шаг: файл >> Параметры >> Сборка, выполнение, развертывание >> снимите флажок «Включить мгновенный запуск», чтобы оперативно заменять код / ​​ресурсы при развертывании (по умолчанию включено). введите здесь описание изображения

Шаг 2. Применить и нажать ОК  введите описание изображения здесь

Шаг 3: Запустите проект ...

Работайте на всякий случай .... @ Ambilpura

person Ambilpura Sunil Kumar    schedule 04.04.2019