Saya bermain-main dengan Android Studio dengan menguji beberapa proyek dari GitHub dan ketika saya mencoba untuk meniru apk, saya tidak dapat memilih emulator.
Ini memberitahu saya:
Perangkat mendukung x86, tetapi APK hanya mendukung armeabi-v7a
Mengapa melakukan ini?
android
android-studio
Alexander Ibarra
sumber
sumber
Jawaban:
Saya memiliki masalah yang sama, saya membayar build.gradle dari module: app . Ternyata ada konfigurasi seperti itu:
ndk { abiFilters "armeabi-v7a", "x86" }
ketika saya berkomentar habis-habisan, semuanya bekerja dengan baik.
Saya mencoba menangani proyek React Native Android .
sumber
Matikan USB debugging dan hidupkan kembali perangkat keras.
sumber
Allow computer to connect to this device
prompt tidak ditampilkan pertama kali, tetapi ditampilkan untuk kedua kalinya.Di Android Studio, pilih menu Build ,
lalu klik Select Build Variant ... dan di jendela 'Build Variants' pilih x86Debug (atau rilis)
PS: Saya menggunakan Android Studio 2.3 di Mac
sumber
Di Linux: File> Invalidate Cache / Restart On phone: Alih-alih Isi daya perangkat ini, ubah ke Transfer foto (PTP)
sumber
Camera (PTP)
menjadiMedia Device (MTP)
dan berhasil juga. Terima kasih!Saya mengalami masalah serupa dan saya telah mengatasinya dengan menambahkan nilai "x86" ke daftar "abiFilters" seperti di bawah -
[Buka file build.gradle (Module: app)] dan cari " ndk " di deafultSection dan tambahkan "x86" ke dalamnya!
ndk { abiFilters "armeabi", "armeabi-v7a", "x86" }
Semoga membantu !!!
sumber
armeabi
jika menargetkan SDK 19 ke atas. Android sendiri tidak mendukungnya mulai 4.4Dalam kasus saya
adb devices
menunjukkan mesin LinuxList of devices attached 44b194f5 no permissions
Kemudian restart server adb
sudo adb kill-server
lalu
sudo adb start-server
kemudian hubungkan perangkat Anda, aktifkan Debugging dan ketik
adb devices List of devices attached 44b194f5 device
Akhirnya bisa dijalankan di perangkat
sumber
Dalam kasus saya, aplikasi saya menggunakan beberapa perpustakaan asli. Setiap platform membutuhkan lib yang sesuai untuk dibangun.
Jadi lib asli dari platform x86 (atau lainnya) tidak dibuat. Anda harus menambahkan abifilter di suatu tempat:
Ada beberapa tempat di mana filter abi dapat ditentukan:
Application.mk tambahkan platform yang Anda butuhkan seperti ini:
build.gradle
temukan abiFilters, dan tambahkan platform yang Anda butuhkan seperti ini:
abiFilters "armeabi","armeabi-v7a","x86"
sumber
Anda perlu menyambungkan kembali perangkat Anda dan mencoba mematikan / mengaktifkan opsi pengembang.
Lihat Mengaktifkan opsi pengembang dan debugging
sumber
Sepertinya Anda menggunakan
x86
gambar di emulator.Buat yang terpisah. Pilih tab "gambar lain" untuk menemukan perangkat lengan, jika perlu.
Atau, jalankan di perangkat sebenarnya. Repo yang Anda daftarkan dimaksudkan untuk berjalan di Raspberry Pi 3 / ODroid, saya kira.
sumber
Dapat mengonfirmasi, mengaktifkan / menonaktifkan debugging USB di Opsi Pengembang menyelesaikan masalah. Mungkin bahkan membatalkan jendela "Select Deployment Target" di Android Studio dan mencoba menjalankan aplikasi lagi setelah mengaktifkan USB debugging.
sumber
Bagi saya itu berhasil saya mengubah opsi kabel dari
Untuk
sumber
Cukup buka perangkat
Settings >> Developer Options >> Restore Default Settings
lalu aktifkanUSB debugging
sumber
Kode di bawah berfungsi untuk saya:
ndk { abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86' }
sumber
Di perangkat fisik saya, saya mulai mendapatkan ini. Perbaikannya adalah masuk ke Pengaturan Pengembang dan matikan dan debugging USB.
sumber
Jika Anda menggunakan Ubuntu:
sumber
adb kill-server
adb start-server
Ini bekerja untuk saya di OS windows.
sumber
Uji kode Anda di ponsel asli. Jika Anda masih memiliki masalah yang sama, impor kode Anda lagi dan sebelum ini Anda harus mengupdate SDK dan membuat emulator baru dengan image sistem ARM.
sumber
Sering kali ini berarti Anda belum memberikan akses ke perangkat Anda pada laptop / komputer Anda. Lihatlah perangkat Anda dan klik tombol "Izinkan Akses" serta izin debugging.
sumber
Menjalankan AVD menggunakan prosesor x86 10x lebih cepat daripada menggunakan emulator ARM, tetapi sebagian besar waktu Anda hanya mengompilasi APK untuk ARM. Untuk menjalankan emulasi lebih cepat menggunakan x86 AVD, saya harus melakukan hal berikut (untuk proyek Cocos2d-x):
app / jni / Android.mk
gradle.properties
PROP_APP_ABI=armeabi-v7a:x86
app / build.gradle
android { ... defaultConfig { ... ndk { abiFilters = [] abiFilters.addAll(PROP_APP_ABI.split(':').collect{it as String}) } } }
sumber
Memulai ulang perangkat memecahkan masalah untuk saya (React-native)
sumber
Itu terjadi pada saya setelah memperbarui Android Studio. Dalam kasus saya, itu terjadi karena pengaturan build tidak secara otomatis dikonfigurasi ke x86Debug-x86. Ubah saja dengan membuka Build >> Select Build Variant >> Ubah opsi varian build dari armeabi-v7a menjadi x86Debug-x86 atau apa pun yang Anda butuhkan di emulator.
sumber
Coba aktifkan Sumber Tidak Dikenal dari Opsi Keamanan. Itu berhasil untuk saya.
sumber
saya melihat ini
Jika Anda menggunakan CMake untuk build Anda, periksa file \ proj.android \ gradle.properties, dan perbarui PROP_APP_ABI untuk menyertakan build untuk x86, atau sebagai alternatif, Anda bisa menggunakan Android armeabi-v7a atau arm64-v8a gambar-gambar.
Contoh: PROP_APP_ABI = armeabi-v7a: arm64-v8a: x86
Jika Anda tidak menggunakan cmake, cari di \ proj.android \ app \ jni \ Application.mk jika Anda perlu mengubah pengaturan ABI di sana.
sumber