otrzymuję ostrzeżenie:Co się stanie, jeśli wartość minSdkVersion jest niższa od wartości targetSdkVersion?
Attribute minSdkVersion (3) is lower than the project target API level (8)
Jak to wpłynie na moją aplikację?
otrzymuję ostrzeżenie:Co się stanie, jeśli wartość minSdkVersion jest niższa od wartości targetSdkVersion?
Attribute minSdkVersion (3) is lower than the project target API level (8)
Jak to wpłynie na moją aplikację?
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.
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
Co się stanie, jeśli nie użyję tej linii w moim manifeście? –
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.
Podoba mi się to podejście. – DonnaLea
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
@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. –
Patrz również odpowiedź Dianne Hackborn w tym wątku: https://groups.google.com/group/android-developers/browse_thread/thread/c468e795daf439f8?pli=1#
elementy SDK Android manifestu są naprawdę dziwne. Zaczynając od nazwy. nie mają na myśli tego, co mówią ... Nie ma to nic wspólnego z SDK, ale API. Także ten sam komunikat pokonuje sam cel minSdkVersion. – gcb