2016-04-08 10 views
2

Kitkat'ı desteklemek için uygulamamın derlenmiş SDK sürümünü ve minimum SDK sürümünü 23'ten 19'a değiştirdim. Ben bu destek kütüphaneleri derleme SDK sürümü farklı bir SDK sürümü kullanmaması gerektiğini hatası alıyorumCompileSDK sürümünü değiştirirken android destek kitaplıkları ile ilgili sorunları nasıl çözebilirim?

compile 'com.android.support:appcompat-v7:23.1.1' 
compile 'com.android.support:design:23.1.1' 

:

Sorun şu bağımlılıkları benim build.gradle dosyasında olduğunu.

23.1.1'u 19.1.1 olarak değiştirebilir miyim veya bu potansiyel oluşturma sorunlarına neden olabilir mi?

DÜZENLEME:

Biraz daha haberlerini okurken ve onlar hep son sürüme benim compileSDK sürümü ayarlamak gerektiğini söylüyorlar. Ancak, anladığım kadarıyla, bu, belki de en son SDK sürümünde desteklenen ve uygulamanızın minimumSDK sürümünde desteklenmeyen özellikleri kullanmamı sağlayabilir.

cevap

2

Destek kitaplığının ana numarası her zaman compileSdkVersion ile eşleşirken, KitKat'ı desteklemek için compileSdkVersion'u değiştirmeniz gerekmez ve buna karşı öneriyorum.

Android geliştirme, KitKat'ın piyasaya sürülmesinden bu yana 3 yılda hayata geçti. SDK'nın yeni bir sürümünü kullanmanız için ihtiyacınız olan modern Materyal uygulamaları yapabilmek. Örneğin, SKD 19 için support library, Design veya RecyclerView kitaplıklarına sahip değildir.

API 19'u desteklediğinizden emin olmak için, kullanmadan önce API düzeyindeki yöntemlerin farkındayken, bir sınıfın destek kitaplığı sürümünü kullanın.

19 için minSdkVersion ayarı yapılırken, derleme, API düzeyi 19'da desteklenmeyen bir yöntem kullanırsanız hata vermemesine neden olur. Bunu yaptığınızda, lint sizi uyaracaktır. Uygulamanızın hedeflediği tüm sürümler tarafından desteklenmeyen yeni yöntemleri çağırmak için bir NewApi eror'ı yükseltir.

lint'u gradlew lint aracılığıyla manuel olarak çalıştırabilirsiniz veya bir sürüm veya bir hata ayıklama oluşturulduğunda çalıştırılmak üzere configure lint'i kullanabilirsiniz. abortOnError true ayarı, derleme hatasına benzer bir etkiye sahip bir derleme hatasına neden olur.

+0

En düşük API düzeyini 19 olarak ayarlarsam, derleyici, 19'un üzerinde bir API yöntemini kullanıp kullanmadığımı söyler mi? – Roymunson

+0

@Roymunson Yorumunuzu yanıtlamak için cevabımı genişlettim. – Benjamin