在 API 10 上开发 Android 应用程序 - 它仍然可以在具有 API 7 的设备上运行吗?
我对 Android 世界有点陌生,有一个简单的问题。
如果我使用 API 13(或 API10)上的库开发应用程序,该应用程序是否仍可以在仅安装 API 7 的 Android 手机上运行?
当我尝试在具有 API 7 的 Android 手机上使用 EClipse 运行当前应用程序时,我收到一条错误消息,指出我的应用程序至少需要 API 10 - 所以我害怕在 API 13 上进行开发。
我应该坚持使用 API 7 而不是使用新功能吗?
在这种情况下最好的做法是什么?
非常感谢
I am kind of new to Android world and have a simple question.
If I develop an app using libraries on API 13 (or API10) will this app still run on Android phones which have only API 7 installed?
When I try to run my current app with EClipse on my Android phone with API 7 I get an error message that my app requires at least API 10 - so I am afraid to develop on API 13.
Should I better just stick to API 7 and not use the new features?
Whats the best thing to do in this situation?
Many thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
如果您不使用 API10 中旧 API 中不存在的任何功能,它将起作用。
您仍然可以通过反射使用新函数。
首先检查该函数是否可用,然后通过反射执行它。
示例:
还要确保设置 android:minSdkVersion。
It will work if you are not using any function from API10 which is not present in the older APIs.
You can still use the new functions with reflection.
First check if the function is available, then execute it with reflection.
Example:
Also make sure you set android:minSdkVersion.
您通常希望使用尽可能小的 API 版本来实现您的程序所需的功能。这将使其能够在大多数设备上运行。
API 7 设备可以运行 API 7 及更低版本。
You generally want to develop using the minimum API version possible for the features your program requires. This will allow it to work on the most devices.
API 7 devices can run API 7 and lower.
您收到的消息只是对清单文件中设置的内容的响应。您可以更改应用程序的最低 API 版本:
正如 Heuristic 所说,由于兼容性原因,您应该使用最低 API 版本,但是如果您的应用程序使用手机上安装的较新版本的库,则该应用程序将无法运行。
The message you get is just a response to what is set in the manifest file. You can change the min API version for your application:
As Heuristic said, you should use the minimal API version because of compatibility reasons, but if your application uses libraries from a newer version of the one installed on the phone, the app will not work.
如果您有真正的最低 API 级别,您应该针对该级别进行开发,并设置适当的 minSDKVersion 标志,这样您的应用程序甚至不会出现在不符合该标准的设备市场中。一般来说,回答您的问题时,最低可能的要求将取决于您利用的 API 的哪些功能。如果您想提供向后兼容性,但仍想使用较新 API 中的某些功能,我认为您将需要创建应用程序的两个版本并适当设置 min/target/max SDK 标志,以便客户获得最适合他们设备的版本。
您可以查看 Android API 列表,了解每个级别之间的差异,以确定是否有某些功能是您真正想要使用的。
http://developer.android.com/guide/appendix/api-levels.html
If you have a true minimum API level you should develop for that level and with the appropriate minSDKVersion flag set so that your application won't even appear in the marketplace for devices that do not meet that standard. In general answer to your question, the minimum possible requirements will depend on what features of the API you take advantage of. If you want to provide backwards compatibility but still want to use some of the features in the newer API I think you're going to need to create two versions of your application and set the min/target/max SDK flags appropriately so customers get the version best suited to their device.
You can check out the Android API listing to see what the differences are between each level to determine if there's some functionality you'll really want to use.
http://developer.android.com/guide/appendix/api-levels.html