由于目标 api23,无法更新商店中的应用程序(无法降级)
Posted
技术标签:
【中文标题】由于目标 api23,无法更新商店中的应用程序(无法降级)【英文标题】:Can't update app in store because of target api23 (no downgrade possible) 【发布时间】:2016-08-29 22:15:52 【问题描述】:长话短说:
我在商店里有一个应用,使用 target(!) api23 上传 现在我必须使用 metaio SDK(增强现实)来实现一个功能 此 SDK 不再维护(公司被苹果收购并关闭) metaio SDK 在使用目标 api23 时崩溃 ...由于 ffmpeg 库中的文本重定位,在 libavcodec.so 中,另请参阅: libavcodec.so: has text relocations http://rg4.net/archives/1973.html https://github.com/wseemann/FFmpegMediaPlayer/issues/64问题:
使用目标 api23 上传一次的应用,无法使用较低的目标 api 进行更新 metaio 无法处理 api23,由于文本重定位错误目前的想法:
用较新的版本替换旧的 libavcodec.so (arm & x86), 但我找不到任何编译版本...PS:确定它是转储使用已弃用的 sdk 并且必须在将来的某个时间更换它,但现在我必须使用它,因为项目中使用了巨大的内容和后端部分.
PPS:最坏的想法是在 GooglePlay 中上传相同的应用,但具有不同的 ID、api22 和 AR 功能......并且有两个几乎相同的应用...... <_> 非常感谢您的每一次帮助! :)
【问题讨论】:
如您所述,您是否尝试过重新编译 FFmpeg 并使用 disable-asm 标志放入更新的二进制文件? 【参考方案1】:短期解决方案
使用if(Build.VERSION.SDK_INT < Build.VERSION_CODES.M)
包装对库的每次调用。这将禁用依赖于库的所有功能。在这种情况下,您可能应该通知 API 23 设备的用户。
长期解决方案
寻找替代品。如果你有一个不再维护的依赖,它已经与当前版本不兼容,它只会变得更糟。
【讨论】:
我已经有了同样的想法 =/ ...但在这种情况下,我的 6.x 用户无法使用 AR 功能...当然...长期替换它是必须的... =/【参考方案2】:您可以使用更新的版本代码发布旧版本的应用程序。 https://***.com/a/19164218/3789575
【讨论】:
即使是第一个版本的应用也有api23,所以我不能使用旧版本。上传新的 APK 总是迫使我拥有更高的 versionCode 和至少相同的 target-api。 你想告诉我什么?如前所述,设置为目标 api23 会使 sdk 崩溃。将目标设置为 api22 导致无法更新应用... 我提供了一个链接,它描述了为什么无法降级 targetSdkVersion。 我知道原因,但不幸的是我需要以某种方式解决...也许修补.so文件或...以上是关于由于目标 api23,无法更新商店中的应用程序(无法降级)的主要内容,如果未能解决你的问题,请参考以下文章
由于运行时问题,Google Maps API 无法在 API 23 以上运行