我是 Android 开发的初学者,刚刚下载了 Android SDK 以将其与 Eclipse 集成。
但是,我不知道应该在 SDK 管理器中选择哪个 Android 版本以允许最大数量的人下载和使用我的应用。
这是显示在我屏幕上的管理器的屏幕截图。
我们将不胜感激任何形式的帮助。 谢谢。
最佳答案
事实上,您不需要下载旧版 SDK 就可以让旧版设备使用您的应用。
这是通过目标 SDK 版本和最低 API 级别(AndroidManifest.xml 或 build.gradle)在您的项目设置中完成的。
定义受众
首先,定义您的应用的受众。
HERE您可以找到每个 Android 版本的市场份额(这可能因国家/地区而异,但可能会有所帮助)。
如果查看该表,您会发现只有少数设备仍在使用 API 15 或更早版本。
因此,如果您支持 API<15,您只会增加约 3% 的用户。如果您可以在不丢失任何功能的情况下支持它们,那很好(并非所有 android 功能都支持/移植到所有版本)。但是,如果您可能需要禁用某个功能(例如您创建的那个特殊的 float 操作按钮)只是为了访问这些设备,我认为这是不值得的。
因此,您可以根据该表定义受众
以我为例,我喜欢为 API_16 到 API_24 的设备构建应用。
通常,我们总是希望使用最大可用的 API。今天 24 日。
通过这种方式,我可以覆盖约 97% 的 Android 用户。
但这是可选的...我可以将最小 API 选择为 13...或 14..或 4..这取决于您..
定义受众后
目标 SDK
我一般是根据自己要支持的MAX API来设置目标API。因此,例如,如果我要支持的 MAX API 是 API_24,这将是我的目标 API 并将下载 SDK v24 (7.0)。
通常,您总是会安装最新的 SDK,因为您总是希望获得最新的 Android 版本并享受所有新功能。
最小 API
现在,您还定义了要支持的最低 API 版本。因此,让我们以 API 16(第一个 JB 版本)为例。
您将在您的项目文件 (AndroidManifest.xml
) 中进行设置。您不需要为此下载 SDK 16。
设置 Eclipse
正如我所说,min SDK 将在您的项目中设置。这将在您的 Android list 中完成
在这里,你可以看到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>=16 或 API<=24 的设备上运行。但是,您的应用程序可能会崩溃或无法在该范围内的所有设备上运行。这通常是因为根据 API 版本添加或删除了一些 View 组件或方法。
例如,Fragment
仅在 API11 上添加。因此,如果您尝试在具有 APIv11 的手机中安装您的应用程序,它会起作用。但是,如果您将它安装在具有 API4 的设备中,它将崩溃。
另一个例子是仅在 API 23 中添加的方法 Fragment.onAttach(Context context)
。
这就是我们使用支持库的原因
Support Design Library 它是由 Google 创建的库,它使开发人员能够在旧 Android 版本中使用新 Android 版本的功能。
因此,例如,要添加与具有 API<11 的设备兼容的 Fragment,您应该导入并使用 android.support.v4.app.Fragment 包中的
而不是 SDK 中包含的默认版本 (Fragment
类android.app.Fragment
)。
这样,您的应用就不会崩溃。
当然这是非常基本的例子。这只是为了说明...
无论如何,希望能帮到你 问候
关于android - 选择SDK版本达到最大人数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38664232/