我是Android开发的完全初学者,只是下载了Android SDK以将其与Eclipse集成。
但是,我不知道我应该在SDK Manager中选择哪个Android版本,以允许最多人下载和使用我的应用。
以下是我的屏幕上显示的经理的屏幕截图。
任何形式的帮助都会非常感激。 感谢。
答案 0 :(得分:4)
事实上,您不需要下载OLD SDK只是为了让OLD设备能够使用您的应用。
这是通过目标SDK版本和最低API级别(AndroidManifest.xml或build.gradle)在项目设置中完成的。
定义受众群体
首先,为您的应用定义受众群体。
HERE您可以找到每个Android版本的市场份额(这可能会针对每个国家/地区进行更改,但可能有所帮助)。
如果您检查该表,则可以看到只有少数设备仍在使用API 15或更早版本。
因此,如果您支持API< 15,那么您的人数将增加约3%。如果您可以支持它们而不丢失任何功能,那么(不是所有版本都支持/移植所有Android功能)。但是,如果您可能需要禁用某项功能(例如您创建的特殊浮动操作按钮)才能访问这些设备,我认为这不值得。
因此,根据该表,您可以定义受众群体
就我而言,我喜欢使用API从API_16到API_24为设备构建应用。
通常,我们总是希望使用最大的API。今天,24。
通过这种方式,我可以使用Android达到约97%的人。
但这是可选的......我可以选择min API为13 ...或14 ..或4 ..这取决于你..
定义观众后
目标SDK
我通常根据我想支持的MAX API设置目标API。因此,例如,如果我想支持的MAX API是API_24,那么这将是我的目标API,并将下载SDK v24(7.0)。
通常,您总是会安装最新的SDK,因为您总是希望获得最新的Android版本并享受所有新功能。
MIN API
现在,您还定义了要支持的最小API版本。因此,让我们以API 16为例(第一个JB版本)。
您将在项目文件(AndroidManifest.xml
)中设置此项。因此,您不需要下载SDK 16.
设置Eclipse
正如我所说,min SDK将在您的项目中设置。这将在你的Android Manifest中完成
在这里,你可以看到targetSdk是24.这意味着我只需要下载SDK v24来构建这个项目。即使这样,我也可以在API 16或更高版本的设备中安装此应用程序。
Eclipse(AndroidManifest.xml)
<manifest>
....
<uses-sdk
android:minSdkVersion="16"
android:targetSdkVersion="24" />
...
</manifest>
Android Studio(build.gradle)
compileSdkVersion 24
buildToolsVersion "24.0.0"
minSdkVersion "16"
targetSdkVersion "24"
minSdkVersion无法保证您的应用能够正常运作
请注意,上述设置仅允许您的应用在API&gt; = 16或API&lt; = 24的设备中运行。但是,您的应用可能会崩溃或无法在该范围内的所有设备中运行。这通常是因为根据API版本添加或删除了某些View组件或方法。
例如,仅在API11上添加了Fragment
。因此,如果您尝试在具有APIv11的手机中安装您的应用,它将会起作用。但是,如果您将其安装在带有API4的设备中,它将会崩溃。
另一个例子是方法Fragment.onAttach(Context context)
,它仅在API 23中添加。
这就是我们使用支持库的原因
支持设计库这是一个由Google创建的库,使开发人员能够使用旧Android版本中新Android版本的功能。
因此,例如,要添加与API <11的设备兼容的Fragment,您应该从包Fragment
导入并使用android.support.v4.app.Fragment
类,而不是SDK中包含的默认版本({{ 1}})。
这样,您的应用就不会崩溃。
当然这是一个非常基本的例子。这只是为了说明......
无论如何,我希望我能帮助你 问候