HATA: Android emülatörünü çalıştırmaya çalışırken 32 bit Linux Android emülatör ikili dosyaları DEPRECATED


14

Ubuntu 10.10, 32 bit android geliştirme ortamını ayarladım. Öykünücüyü başlattığımda AVD'yi oluşturduktan sonra aşağıdaki hatayı aldım.

HATA: 32-bit Linux Android emülatör ikili dosyaları DEPRECATED, bunları kullanmak
için aşağıdakilerden en az birini yapmanız gerekir:
- 'emulator' çağırırken '-force-32bit' seçeneğini kullanın.
- ANDROID_EMULATOR_FORCE_32BIT'i ortamınızda 'true' olarak ayarlayın.
Her ikisi de 32 bit ikili dosyaları kullanmanıza izin verecektir, ancak bunların gelecekteki bir Android SDK sürümünde kaybolacağını unutmayın.
Bu gerçekleşmeden önce 64 bit Linux sistemine geçmeyi düşünün.

Kullandığım ADT sürümü 23.0.3.1327240. Kullandığım SDK kütüphaneleri 32 bit. lütfen bana yardım et. Teşekkürler.


1
Yeni bir sürüme 64 bit'e geçin.
Mateo

4
Desteklenen bir Ubuntu sürümüne yükseltmelisiniz. Normalde bunu desteklenmeyen olarak kapatırdık, ancak bu sorun eski bir sürüm olmaya gerçekten özgü olmadığından ve diğer insanların bu sorunu desteklenen bir sürümde yaşayabileceğini düşünüyorum. Ancak en az 12.04 sürümüne geçmenizi önemle tavsiye ederim.
Seth

3
Katılıyorum: Bu, (a) cevabın sürümden bağımsız olduğunu bildiğimiz ve (b) hem soru hem de cevap (çünkü bir ortak faaliyet ile bariz bir tuzak) başkaları için özellikle yüksek değerli olabilir. Bu, onu tüm sürümlere genelleştirmek için düzenlenebilir, ancak açık tutmalıyız. @MohanrajMani Ama lütfen 10.10 kullanmaya devam etmeyin. Uzun zamandır desteklenmiyor ve bunun anlamı, yeni keşfedilen güvenlik açıklarını gidermek için güncellenmemiş olması. Kullanmak risklidir.
Eliah Kagan

1
Bunun Ubuntu 10.10 ile ilgisi yok, ancak özellikle 64 bit için tasarlandığında android emülatörünü 32 bit linux dağıtımında kullanmaya çalışmaktan kaynaklanıyor. intel 386 dağıtımını kullanıyorsanız Ubuntu 12.xx ve 14.xx'de de aynı şey olur. Ayrıca, son kontrol sadece 64 bit geçmek olamaz. 64 bit yalnızca AMD'de desteklenir, 32 bit yalnızca intel'de desteklenir.
JSON

1
@JSON Ubuntu'nun 64 bit sürümü hem 64 bit AMD hem de 64 bit Intel işlemcilerde çalışır. "Amd64" içindeki "amd", yalnızca AMD olduğu anlamına gelmez. Benzer şekilde, 32-bit sürüm hem (32- ve -64-bit) AMD hem de (32- ve -64-bit) Intel işlemcilerde çalışır - "i386" daki "i" yalnızca Intel olduğu anlamına gelmez . Bkz . Ubuntu'nun 64 Bit sürümü yalnızca AMD CPU'larla uyumlu mu? ve i386 indirme ve amd64 arasındaki fark? detaylar için. (Bu sorunun Ubuntu'nun 10.10 sürümüne özgü olmadığını kabul ediyorum.)
Eliah Kagan

Yanıtlar:


15

Bu hatayı alıyorsunuz çünkü görünüşte 32bit bir sistemde çalışıyorsunuz ve Android emülatörü 64 bit bir ortamda en iyi çalışacak şekilde tasarlandı. Tek gerçek çözüm 64 bit işletim sistemi kurmaktır.

Donanım 64bit destekleyen veya yoksa yapamazsın yeniden yükleme şu anda yapabilirsiniz geçici ileterek soruna baypas -force-32bitEğer komut ile emülatörü başladıklarında ya ayarlayarak ANDROID_EMULATOR_FORCE_32BITiçin true(hata söylediği gibi) ortamınızdaki. Bunu çalıştırarak yapabilirsiniz:

gedit .profile  

Bir terminalden. Metni ekleyin:

export ANDROID_EMULATOR_FORCE_32BIT=true  

dosyanın sonuna gidin ve kaydedin ve kapatın. Şu anda test edemiyorum, ancak source .profiledeğişikliklerin geçerli olması için terminalden çalıştırmanız veya yeniden başlatmanız gerekir .

Emülatörü başlatmayı deneyin.

Android geliştirmenize devam etmek için 64 bit işletim sistemi yüklemeniz önemle tavsiye edilir, çünkü Google sonunda 32 bit ikili dosyaları kaldıracak ve bu da emülatörünüzün çalışmasının durmasına neden olacaktır. Android'in kendisi de x64 mimarisine doğru ilerliyor, bu yüzden 32bit ile kalarak çok yakında geride kalacaksınız.


4

Harika bir çözümüm var. tutulma veya netbeans ile başlatabilirsiniz. Deneyin :

  1. Eclipse'de Android proje klasörünüzü tıklayın ve ardından Çalıştır> Yapılandırmaları Çalıştır ... 'ı seçin.

  2. Yapılandırmaları Çalıştır iletişim kutusunun sol panelinde Android proje çalıştırma yapılandırmanızı seçin veya yeni bir yapılandırma oluşturun.

  3. Hedef sekmesini tıklayın.

Ek Öykünücü Komut Satırı Seçenekleri alanına şunu girin:

-force-32bit

Bu çalıştırma yapılandırmasını kullanarak Android projenizi çalıştırın.

netbeans size: 1. seçtiğiniz hata ayıklayıcı Özelleştir seçti ...

  1. Emulator seçeneklerinde yazma -force-32bit
  2. Tamam'ı tıklayın. ve uygulamayı çalıştır

1

Bu dosyayı düzenle:

Ubuntu'daki terminali aç

gedit .bashrc

bu metni yapıştır:

export ANDROID_EMULATOR_FORCE_32BIT=true

yenileme kaynağı:

source ~/.bashrc

3
~/.bashrcyok değil kök, böylece kullanmak için hiçbir neden yok olarak düzenlenmesi gerekecektir sudobunun için. (Bunun yanı sıra, bu makul ve yararlı bir cevaptır, ancak Seth'in önerdiği gibi bu ortam değişkenini ~/.profileyerine koymayı veya hatta belki de atamayı koymayı öneririm - yani, ~ ~ .pam_environment olmadan .)export
Eliah Kagan

@EliahKagan Bu soru-cevap ışığında belki de ~/.profileen iyi yer değil mi? Biraz kafam karıştı çünkü wiki özellikle ortam değişkenlerini yerleştirmeyi önerdi ~/.profile..
Seth

1

kabuk betiği oluştur:

#!/bin/bash
#
#   set export ANDROID_EMULATOR_FORCE_32BIT=true

export ANDROID_EMULATOR_FORCE_32BIT=true
/opt/adt-bundle-linux-x86-20140702/eclipse/eclipse

Kabuk komut dosyasını yürütülebilir olarak değiştirin ve eclipse'i başlatmak için çalıştırın

/opt/adt-bundle-linux-x86-20140702/eclipse/eclipse tutulma çalıştırılabilir yoludur.


Bu Titanium kullanırken işe yaradı, ancak SH dosyalarını düzenleyin. Bu işe yarıyor.
jfreak53

1

Android Studio'daki emülatör yapılandırmasını aşağıdaki gibi güncelleyerek bu sorunu çözdüm.

  1. Android Studio'da Çalıştır -> Yapılandırmayı Düzenle .. menüsüne gidin
  2. Sol bölmedeki Android Uygulaması altında uygulama adını seçin
  3. Sağ bölmedeki Öykünücü sekmesini seçin
  4. "Ek komut satırı seçenekleri:" seçeneğini işaretleyin ve yanındaki metin kutusuna -force-32bit değerini girin
  5. "Tamam" ı seçin ve uygulamayı tekrar çalıştırmayı deneyin.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.