使用 API 级别 14 以下的 CreativeSDK?
Posted
技术标签:
【中文标题】使用 API 级别 14 以下的 CreativeSDK?【英文标题】:Use CreativeSDK below API level 14? 【发布时间】:2015-12-17 19:35:39 【问题描述】:由于某种原因,原来的 Aviary 框架已经停止工作,这迫使我迁移我们的代码以改用新的 CreativeSDK。 不幸的是,这个新 SDK 的 minSdkVersion 为 14 = android 4.0,但我们的许多客户仍在使用旧版本(根据 Google 对我们应用程序的统计数据,这一比例略高于 20%)。
我们不能发布一个应用程序更新来削减这么多用户,但是有没有办法用较低的 api 级别编译应用程序,然后只为“旧 api”用户禁用图像编辑?
【问题讨论】:
您可以同时在 Playstore 上拥有多个版本的应用,为仍然没有 Ice Cream Sandwich 的人保留旧版本,为所有拥有 Ice Cream Sandwich 的人使用新版本或更多。其他任何事情都可能是在浪费您的时间。 【参考方案1】:有没有办法以较低的 api 级别编译应用程序,然后为“旧 api”用户禁用图像编辑?
棘手的问题。您可以尝试使用 api lv
Android 4.0 已经有 4 年的历史了。越来越多的库不再支持旧的 android 版本(我认为这是有充分理由的。刚刚更新!),就像 creativeSDK 一样。 minSDK 要求从 aviary 框架中的 2.3 到 creativeSDK 中的 4.0。
Adobe 必须这样做是有原因的。为“旧”版本的 android 提供兼容性太麻烦了,尤其是对于复杂的功能。
提到 here、here 和 here,creativeSDK 现在确实需要 api 14,并且在任何地方都没有提到与旧版本的兼容性,这意味着它很可能不存在。
回到您的问题,我认为您的解决方案是create multiple APKs for different API levels。有一些工作要做,但它是 Android 官方支持的,如何实现它的步骤在我链接到的文档中有清楚的描述。
除此之外,您还有两个选择:
-
删除 SDK 并使用另一个库。
联系支持人员,询问他们是否预见到了这个问题,以及他们建议您如何解决这个问题。
【讨论】:
【参考方案2】:正如 Tim 所说,Adobe Creative SDK 支持 Android API 14 及更高版本。它不适用于低于此值的任何东西。
如果您使用的是图像编辑器 UI 组件,还值得注意的是,对于 API 14 和 15,AviaryIntent.Builder
将不起作用。
There is a workaround for that issue documented here.
更新:请注意,从 Creative SDK 的 0.9.7
版本开始,图像编辑器仅支持 Android API 16 及更高版本。这在Getting Started guide 中有说明。
【讨论】:
以上是关于使用 API 级别 14 以下的 CreativeSDK?的主要内容,如果未能解决你的问题,请参考以下文章
调用需要 API 级别 23(当前最低为 14):android.app.Activity#requestPermissions,checkSelfPermission [重复]
api 级别 11 以下设备的 FragmentActivity 类