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. Выполните следующие действия:
Файл > > Настройки > > Сборка, Выполнение, Развертывание.
нажать на кнопку Мгновенный Запуск и unckeck"включить мгновенный запуск для изменения кода горячей замены / ресурсов при развертывании".
нажмите на "применить" и " OK".
попробуйте запустить снова заявление. Он должен установить приложение сейчас. Вы можете снова включить Instant Run в любое время.
EDIT (Android Studio 3.0)
Отключить Мгновенный Запуск ( Android Документ)
чтобы отключить мгновенный запуск:
- открыть настройки или предпочтения диалог. (Для Mac Android Studio ->предпочтения)
- перейти к Построить, Выполнения, Развертывание>Мгновенный Запуск.
- снимите флажок рядом с Включить Мгновенный Запуск.
для устройств 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.
и я нажимаю кнопку "ОК", но он также неудачный.
$ 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
а затем попробуйте установить и предоставить разрешение, когда его спросят.
Если это не попробуйте отключить мгновенный запуск, как описано в одном из ответов.