The way I see it, I can have the minSdkVersion=4 and targetSdkVersion=10 but set the build target to API Level 4. What will happen? Eclipse assumes I'm developing for API Level 4 and any method, constant or whatever defined on API Levels above 4 will not be available to me. If I try to use them, the application will not compile.
Когда вы устанавливаете цель сборки на уровень API 4, Eclipse не позволит вам скомпилировать любые методы, которые вы используете выше этого, потому что он строго использует уровень API 4. Однако, когда вы устанавливаете цель сборки на более высокий уровень API, в вашем случае уровень API 10, ваш APK доступен для использования с телефонами уровня API от 4 до 10.
Ответ на второй вопрос отвечает на ваш вопрос, то есть цель сборки Android, и minSdkVersion
, и targetSdkVersion
влияют на круг пользователей, которые могут использовать ваше приложение.
EDIT:
Поскольку вы не собираетесь определять targetSdkVersion
и не используете какие-либо функции выше уровня API 4, targetSdkVersion
будет таким же, как minSdkVersion
. Какую бы цель сборки вы не выбрали, она будет указана автоматически. Неважно, какую цель сборки вы выберете, если она не ниже уровня API 4
Из документации Android по targetSdkVersion
:
An integer designating the API Level that the application targets. If not set, the default value equals that given to minSdkVersion.
This attribute informs the system that you have tested against the target version and the system should not enable any compatibility behaviors to maintain your app's forward-compatibility with the target version. The application is still able to run on older versions (down to minSdkVersion).