2012-01-26 12 views
7

LargeHeap ve hardwareAccelerated bayraklarını açmak istediğim bir Android uygulaması üzerinde çalışıyorum. Bununla birlikte, Android 2.3'ü de desteklemesi gerekiyor.MinSdkVersionum X'den küçük olduğunda, manifoldumda API düzey X öznitelikleri ayarlayabilir miyim?

Benim AndroidManifest.xml aşağıdaki gibidir:

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

<application 
     android:icon="@drawable/icon" 
     android:label="@string/app_name" 
     android:hardwareAccelerated="true" 
     android:largeHeap="true" 
     > 

Ancak Eclipse projesini inşa reddediyor diyerek:

error: No resource identifier found for attribute 'hardwareAccelerated' in package 'android' 
error: No resource identifier found for attribute 'largeHeap' in package 'android' 

böyle bayrakları tanıtıldı 11 e targetSdkVersion Raising, sorunu çözmez.

Android 2.3'ü desteklemek ve bu bayrakları yine de ayarlamak mümkün mü?

cevap

11

Evet, XML özniteliklerini ekleyebilirsiniz, ancak bu öznitelikler için gerekli sdk düzeyiyle oluşturmalısınız. Eski plattformlar bu özellikleri göz ardı eder. Bunu yapmak için Eclipse'deki projeye özel Android ayarlarında Project Build Target - 11 arasında değişiklik yapın.

Ama kolayca düzeyiyle cihazlarda çalışmaması kodu da kayabilir sdk düzeyinde 11 ile projenizi oluşturmaya başlamak eğer < 11.

etkinleştirmek için nasıl bir benzer açıklama için Backward Compatiblity bakınız, dikkat installLocation özniteliği (8. basamakta tanıtıldı) ve hala 8'den daha düşük bir sdk düzeyi oluşturmak için

+1

android: minSdkVersion = "8" android: targetSdkVersion = "11" .Ana özelliklerine gidin -> Android -> Android 3.0'ı seçin. Hataya sebep olmaz. Bitti –

+0

Görünüşe göre bu, hedef API düzey 11'i çalıştırmıyorsa (ör., LargeHeap) özniteliğinin etkili olmasını sağlamaz. – Michael

İlgili konular