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

Я медленно пытаюсь сделать некоторые простые задачи Android Studio. Следующее приложение устанавливается на эмулятор без каких-либо ошибок. Но когда я попытался установить его на реальное устройство Redmi 3S, эта ошибка произошла:

Unknown failure (Failure - not installed for 0)
Error while Installing APKs

Я прошел через аналогичные вопросы здесь, но в этих случаях ошибка была вызвана не включена отладка, или не accepitng установки приложения. Тем не менее, я разрешил отладку, и я также попытался установить некоторые другие приложения в студии, и это работало.

так что вопрос, вероятно, в том, что не так с кодом.

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>

8 ответов


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

отключите все устройства, подключенные к системе, и закройте все эмуляторы, работающие на систему. Выключите функцию Instant Run из настроек. Выполните чистую сборку. Включите функцию Instant Run из настроек. Выполните чистую сборку. Подключите устройство, запустите эмулятор и убедитесь, что это онлайн. Запустите проект, выбрав устройство / эмулятор.

Примечание:

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

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

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


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

  1. Файл > > Настройки > > Сборка, Выполнение, Развертывание.

  2. нажать на кнопку Мгновенный Запуск и unckeck"включить мгновенный запуск для изменения кода горячей замены / ресурсов при развертывании".

  3. нажмите на "применить" и " OK".

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

EDIT (Android Studio 3.0)

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

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

  1. открыть настройки или предпочтения диалог. (Для Mac Android Studio ->предпочтения)
  2. перейти к Построить, Выполнения, Развертывание>Мгновенный Запуск.
  3. снимите флажок рядом с Включить Мгновенный Запуск.

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


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

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

Проверить ответ здесь


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

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

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


теперь я столкнулся с этой проблемой, я уже удалил 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 popup info

и я нажимаю кнопку "ОК", но он также неудачный.

$ 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" в разделе Debbuging.

Шаг 3: Попробуйте "запустить приложение" в Android Studio опять!


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


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

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

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