Android: APKlarni o'rnatish vaqtida xatolik

Android Studio ilovasida oddiy ishlarni bajarishga harakat qilaman. Quyidagi ilova emulyatorda xatolikka yo'l qo'yilmaydi. Ammo, uni Redmi 3S qurilmasiga o'rnatishga urinib ko'rganimda, ushbu xato yuz berdi:

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

Bu yerda shunga o'xshash savollar bilan chiqdim, ammo bu holatlarda xatoni tuzatishga ruxsat berilmagan yoki ilovani o'rnatmaslik sabab bo'lgan. Ammo men disk raskadrovka qilishga ruxsat berdim va Studio da boshqa bir ilova ni o'rnatishga harakat qildim va u yaxshi ishladi .

Shunday qilib, savol shuki, kodda nima bor.

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();
    }
}

Va xml kodi:

activity_main.xml          

    

    <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" />



29
Menda shu kabi xatolik bor. Uni qayta tiklang.
qo'shib qo'ydi muallif 林果皞, manba
Yuqoridagi kod bilan hech qanday yomon narsa ko'rmayapman, iltimos, manifest.xml faylni qo'llash dasturning sababi emasligiga ishonch hosil qiling, barcha min versiyalar qurilmangizga o'rnatilganligiga ishonch hosil qiling va qurilmangiz noma'lum apk fayllarini o'rnatish.
qo'shib qo'ydi muallif diegeelvis_SA, manba
@LucieP. dahshatli, android bilan juda quvnoq. :)
qo'shib qo'ydi muallif diegeelvis_SA, manba
bu menga yordam berdi: stackoverflow.com/a/46102740/734028
qo'shib qo'ydi muallif user734028, manba
Qayta qurish va ishga tushirish
qo'shib qo'ydi muallif asissuthar, manba
Iltimos, bitta paket nomi bilan mavjud bo'lgan dastur mavjudligini tekshiring, agar bo'lsa, iltimos olib tashlang va qayta urinib ko'ring.
qo'shib qo'ydi muallif Shanto George, manba
@ShantoGeorge Xuddi shu nomda bunday ilova yo'q.
qo'shib qo'ydi muallif Lucie P., manba
@diegeelvis_SA Solved. Rahmat. xml va noma'lum apks ruxsat berilmagan.
qo'shib qo'ydi muallif Lucie P., manba

8 javoblar

Muammoni bartaraf etish uchun quyidagi bosqichlarni bajaring.

Tizimga ulangan barcha qurilmalarni ajratib oling va tizimda ishlaydigan barcha emulyatorlarni yoping. Sozlamalardan Instant Run funksiyasini o'chirib qo'ying. Toza qurilishni bajaring. Sozlamalardan Instant Run xususiyatini yoqing. Toza qurilishni bajaring. Qurilmangizni ulang/emulyatorni ishga tushiring va uni onlayn qilib oling. Qurilmani/emulyatorni tanlab loyihani boshqaring.

Eslatma:

1) Siz tizimda ishlaydigan Android Debug ko'prigining (adb) turli misollari bo'lmasligi kerak.

2) Genymotion-dan foydalansangiz, Android Studio sozlamalarida aytib o'tilgan Genymotion sozlamalarida eslatib o'tilgan maxsus sdk usulidan foydalanganingizga ishonch hosil qiling.

Ushbu qadamlar sizning muammoingizni hal qilishi mumkin, ammo u Android versiyalarida ham muammo bo'lishi mumkin.

72
qo'shib qo'ydi
Men uchun ishladi. Mening "noma'lum xatolik" "noto'g'ri - 0 uchun o'rnatilgan emas" va "android.os.Binder.execTransact" da joylashgan edi.
qo'shib qo'ydi muallif Mike Miller, manba
xavotir olmang :)
qo'shib qo'ydi muallif JPZ, manba
Juda katta rahmat, buni Tezkor ishga tushirish sabab bo'ldi
qo'shib qo'ydi muallif Lucie P., manba

Android Studio'da Instant Runni o'chirib qo'ying. Quyidagi amallarni bajaring:

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

  2. Click on Instant Run and unckeck "Enable Instant Run to hot swap code/resource changes on deploy".

  3. Click on "Apply" and "OK".

Ilovani qayta ishlashni sinab ko'ring. Endi ilovani o'rnatish kerak. Istalgan vaqtda Instant Runni qayta yoqing.

EDIT (Android Studio 3.0)

Tezkor xatolikni o'chirib qo'yish ( Android Document )

Instant Runni o'chirish uchun:

  1. Open the Settings or Preferences dialog. (For Mac, Android Studio -> Preferences)
  2. Navigate to Build, Execution, Deployment > Instant Run.
  3. Uncheck the box next to Enable Instant Run.
36
qo'shib qo'ydi
Menga ham rahmat, rahmat!
qo'shib qo'ydi muallif Jviaches, manba
Bu men uchun muammoni hal qildi, Android Studio-dagi asl xato xabari Noma'lum qobiliyatsiz (android.os.Binder.execTransact (Binder.java:565) )
qo'shib qo'ydi muallif Yoav Feuerstein, manba
Men uchun ishladi. Rahmat.
qo'shib qo'ydi muallif Md Nakibul Hassan, manba

Redmi va Mi qurilmalari uchun MIUI optimallashini o'chiring va telefoningizni qayta ishga tushiring.

Settings > Additional Settings > Developer Options > MIUI Optimization

Bu yerdan tekshirib ko'ring

6
qo'shib qo'ydi

Men uchun App uchun faqat toza qilingan, keyin hamma yaxshi ishlaydi.

4
qo'shib qo'ydi

Android studio versiyasi uchun Xiaomi qurilmalari bilan 2.3 va gradusli plagin versiyasi 2.3.0 bilan tezkor ishlatish bilan mos kelishi mumkin.

adb multiple-install the splited apks return error.

You can turn off instant run, or in Settings -> Developer options, toggle Turn on MIUI optimization off if you want instant run also.

3
qo'shib qo'ydi

Endi men ushbu muammo bilan duch keldim, apkni allaqachon o'chirib tashladim, endi Android Studio 3.0 dan Xiaomi MIX 2 (Android 7.1.1, API 25) uchun apkni ishlatishni xohlayman, lekin muvaffaqiyatsiz tugadi.

$ adb shell pm install -t -r "/data/local/tmp/com.package"
Failure [INSTALL_FAILED_USER_RESTRICTED: Install canceled by user]

Va Android Studio menga shunday deydi: "Agar bu mavjud bo'lsa, apkning mavjud versiyasini olib tashlash va keyin qayta o'rnatish orqali bu muammoni hal qilish mumkin." Lekin men ushbu apkni o'chirib tashladim.

Android Studio popup info

Va "OK" tugmachasini bosishim ham mumkin.

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

Va nihoyat, bu muammoni qanday hal qilishni topaman, "USB-ni tasdiqlash" ilovasini yoqmayapman, chunki hozirda ushbu qurilma xiaomi hisobiga kirgunga qadar uni o'chira olmaydi va bu tizimga kirib bo'lmaydigan yangi qurilma.

1-qadam: "Setting" ga o'ting → tizimdagi "Tuzuvchi opsiyalari" ni toping va tugmasini bosing.

2-qadam: O'chirish "ilovalarni USB orqali tasdiqlang" Debbuging bo'limida.

3-qadam: "Android Studio" da "Ilovani ishga tushirish" ni sinab ko'ring!

3
qo'shib qo'ydi

Yangi qurilma ichiga dastur o'rnatganimda ham men shu muammo bilan shug'ullanardim. Odatda, ushbu xato odatda app o'rnatishga ruxsat berilmagan bo'lsa paydo bo'ladi. Buning sababi shundaki, ilovani telefoningizga faqat har qanday manbadan o'rnatish uchun ruxsat berilmagan bo'lishi mumkin.

Shunday qilib, ishlab chiquvchi parametrlarida usb orqali ilovalarni o'rnatishga ruxsat berishni sinab ko'ring. Agar bu ishlamasa, barcha usb disk raskadrovka ruxsatnomalarini bekor qilib ko'ring va so'ngra o'rnatishni va so'raganingizda ruxsat berishni harakat qilib ko'ring.

Agar bu ham kesilmasa, yuqoridagi javoblardan birida izoh etilganidek, tezkor ishlashni o'chirib qo'ying.

1
qo'shib qo'ydi

Qurilma xotirasi to'lgan bo'lishi mumkin. Jismoniy qurilmada sinovdan o'tgan bo'lsangiz. Ammo, agar siz Emulatorda sinab ko'rsangiz, u holda xotira maydoni mavjud yoki yo'qligini tekshiring. Aks holda, siz Instant Runni o'chirishingiz kerak.

0
qo'shib qo'ydi