2010-07-25 10 views
12

Sadece Android uygulamaları için Eclipse kullanmaya başladım. Eclipse 3.5.2 ve Java 5'i yükledim. AVD, Android 2.1 API 7Uygulama API düzeyini belirtmiyor

İlk Hello Android programım sorunsuz çalıştı ancak tekrar çalışmayacak.

aşağıdaki hatayı alıyorum:

[2010-07-25 09:47:31 - HelloAndroid] WARNING: Application does not specify an API level requirement!
[2010-07-25 09:47:31 - HelloAndroid] Device API version is 7 (Android 2.1-update1)

forumları arandı ama sadece emin aşağıdaki kuruldu olmak için dosyayı belli edecek refernece bulabiliriz:

<uses-sdk android:minSdkVersion="3" /> 

benim bildirim dosyası o satırı içermiyor :

<?xml version="1.0" encoding="utf-8" ?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.helloandriod" android:versionCode="1" android:versionName="1.0"> 
    <application android:icon="@drawable/icon" android:label="@string/app_name"> 
     <activity android:name=".HelloAndroid" android:label="@string/app_name"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
    </application> 
    </manifest> 

Adv mgr'yi kontrol ettim ve 7olarak ayarlanmış.Eclipse i özelliklerine gitti -> Android ve 7

olsun aynı uyarıları

olarak ayarlayın
+0

Sadece bir başlangıç. Eclipse, SDK yöneticisinde bir AVD oluşturduğunuz için bu satırı oluşturmaz. Hedef API'yi özellikler üzerinden ayarlamak doğru harekettir ancak aynı zamanda sizin için bir çizgi oluşturmaz. AVD'yi proje oluştururken belirttiyseniz, bunun tek nedeni. Ben zaten yeni proje – celem

cevap

35

Eh, Eclipse için ise tüm ekleyebilirsiniz yolla nedeni ne olursa olsun, sizin için çizgi oluşturmayan, kendin. Sağ biten tezahür etiketinden önce, sizin beyannamesine
<uses-sdk android:minSdkVersion="3" />

:

satırı ekleyin. Zaten yoksa

+0

ile mevcut bir projeyi içe aktarırken belirtmek için bulamadım Ayrıca çeşitli '' etiketleri ayarlama etkisinin tam olarak okuduğunuzdan emin olun: http://developer.android.com/guide/ Yayımlama/versioning.html # minsdkversion –

10

Ayrıca, Manifest'inizde dosyasında

<uses-sdk android:minSdkVersion="7" /> 

içermelidir. Sorunuzdan net değil, ama öyle değil. API düzeyleri hakkında İleride

, O uses-sdk etiketleri doğru sıralamayı gerektiren Android SDK Tool revizyon 16 bir hata olduğu görülmektedir this page

+0

Giriş için teşekkürler. Bunu okuyan herkes için iki src komutunu manuel olarak koydum ve Eclipse manuel girişi sevmiyor. Said senkronizasyon dışıydı. Ancak, Eclipse'deki bildirimi güncelleyebildim. Artık hiçbir hatayla çalışmıyor ama avd sadece tarih ve saat ile geliyor. Bunu çözeceğim ama en azından hata yok. Teşekkürler – Trent

7

görüyoruz. Hem targetSdkVersion ve minSdkVersion kullanıyorsanız, aşağıdaki gibi bunları sipariş:

<uses-sdk android:targetSdkVersion="10" /> <!-- before minSdkVersion --> 
<uses-sdk android:minSdkVersion="7" />  <!-- after targetSdkVersion --> 

uyarı mesajı vermek ve cihaz seçimi penceresi açılır düzeni Geri vites. Bu yüzden tek bir satırda bu yazma tavsiye:

<uses-sdk android:targetSdkVersion="10" android:minSdkVersion="7" /> 
+0

Onaylandı. Gerçekten tuhaf. –

+0

[issue # 27320] sayfasını açtım (http://code.google.com/p/android/issues/detail?id=27320). –

+0

Sorun, yeni bir Lint uyarısıyla çözüldü! Yaşa! –

2

tezahür tek bir eleman içermelidir, bu defadan fazla kullanmak bir hatadır.

ADT 17, biz algılar ve raporlar bu problem yeni tiftik uyarı var:

$ lint --version 
lint: version 17 
$ lint --show MultipleUsesSdk 
MultipleUsesSdk 
--------------- 
Summary: Checks that the <uses-sdk> element appears at most once 

Priority: 6/10 
Severity: Error 
Category: Correctness 

The <uses-sdk> element should appear just once; the tools will *not* merge the 
contents of all the elements so if you split up the atttributes across 
multiple elements, only one of them will take effect. To fix this, just merge 
all the attributes from the various elements into a single <uses-sdk> 
element. 

fazla bilgi: http://developer.android.com/guide/topics/manifest/uses-sdk-element.html

+0

Burada yorumunuzu da gönderdiğiniz için teşekkür ederiz. Referans için kapalı konu [sayı # 27320] idi (http://code.google.com/p/android/issues/detail?id=27320). –

0

kodunuzda API düzeyini belirtmek zorundayım ve olması gerektiği tek bir satırda.

kullanır-sdk android: targetSdkVersion = "19" robot: minSdkVersion'ın = "4" tür.

Hedef en son bir tane olmalıdır. Benim için çalıştığı gibi size yardımcı olabilir. Teşekkürler

İlgili konular