2010-10-12 5 views

Odpowiedz

25

Możesz bezpiecznie zignorować ostrzeżenie.

To dziwne ostrzeżenie - oznacza to, że używasz narzędzi do poziomu API 8 (Android 2.2/Froyo), ale na poziomie interfejsu API 3 (Android 1.5/Cupcake). To ostrzeżenie będzie zawsze pojawiać się, chyba że używasz SDK do kierowania na wersję Androida, z którą się zgadzasz - w takim przypadku musisz skierować Androida 2.2 na obecny pakiet SDK.

+34

To oznacza, że ​​lepiej wykonać obszerne testy. Ponieważ kompilujesz się względem docelowego interfejsu API, nie ma gwarancji, że wszystkie klasy i metody, do których się odwołujesz, będą obecne we wcześniejszych interfejsach API, do których obsługa "minSdkVersion" będzie zobowiązana. Jesteś odpowiedzialny za upewnienie się, że nie korzystasz z żadnego z tych nowszych interfejsów lub że zawodzisz z gracją, jeśli nie są obecne. – beekeeper

+0

Co się stanie, jeśli nie użyję tej linii w moim manifeście? –

17

Zrobiłem większość mojego rozwoju z projektem ustawionym na poziom minSdkVersion. To prawie gwarantuje, że nie używam nowszych API. Następnie, zanim opublikuję aplikację, przełączam się na mój poziom wartości targetSdk. Jedyny problem, jaki do tej pory napotkałem, to to, że niższy poziom nie obsługuje niektórych oczywistych składni, których potrzebuję użyć w produkcji. (Na przykład poziom 3 nie obsługuje funkcji targetSdkVersion). Po prostu przełączam manifest po przejściu na wyższy poziom.

+0

Podoba mi się to podejście. – DonnaLea

+0

To jest interesująca technika. Zdajesz sobie sprawę, że wszystko jest w porządku i może być korzystne dla twoich użytkowników, aby używać API nowszych niż (i dlatego nieistniejących) 'minSdkVersion'? W ten sposób użytkownicy z bardziej nowoczesnymi systemami operacyjnymi niż minSdkVersion mogą korzystać z bardziej nowoczesnych funkcji w swojej aplikacji, podczas gdy starożytni użytkownicy, którzy używają minSdkVersion, mogą nadal korzystać z Twojej aplikacji. Trzeba tylko uważać na kompatybilność wsteczną, tak jak komentarz @beekeper w zaakceptowanej odpowiedzi. – Jeffro

+0

@Jeffro - Tak, jestem tego świadomy, dzięki. Jestem również świadomy leniwego ładowania i powiązanych technik opisanych w [blogu Adama Powella] (http://android-developers.blogspot.com/2010/07/how-to-have-your-cupcake-and-eat -it-too.html). Nadal lubię programować na najniższym poziomie API, który zamierzam wspierać, i używać późniejszych funkcji, tylko jeśli aplikacja naprawdę tego wymaga. –

Powiązane problemy