谷歌play声明今年8月开始新提交的应用必须使用api level 26及以上版本编译

google并没说只支持26版本吧?说的是必须针对26版本优化使用26版本构建。国外用户尤其第三世界用户安装5.0以下的用户还是很多的,公司不会同意不支持的。

上架是需要这么,但国内行情并不适用:relaxed:

我也遇到了相同的问题,api 19就可以运行,api 26运行就崩溃了, ndk用的17

这个问题具体要怎么解决呢

:persevere::persevere: 我用eclipse打包4.x androidstudio 打包5.0以上

Android 构建时需要了解四个版本号的设置

  1. compileSdkVersion 编译版本,改为 26/27/28 都没问题,是编译 java 代码时使用的 SDK 版本,和支持的最低版本无关。

  2. minSdkVersion 支持的最小版本,可设置为 14/16 (Android 4.0 / 4.1),决定编译出的应用最小支持的 Android 版本

  3. targetSdkVersion,和运行时的行为有关,可以设置为 compileSdkVersion,也可以设置为 22,避免运行时权限的问题

  4. APP_PLATFORM,指定 ndk 编译的 native 代码支持的 Android 版本,应该和 minSdkVersion 保持一致,不应该和 targetSdkVersion 保持一致。

第 4 点,creator 1.x 的默认配置有错误,可以参考 creator 2.0 中各种版本的设置修改。


Tips

  • 在编译期遇到找不到某些符号,可以更换 ndk 版本,尝试 r14, r16

  • 在 load so 时找不到某个符号,请检查 APP_PLATFORM 的设置

6赞

Cocos Creator 2.1 版本会完全符合 Google 的标准

这个问题,cocos creator里面构建的api level还是选19,我把构建后的android_studio工程中app下的build.gradle文件中的targetSdkVersion改成26,就解决了这个问题,google play可以上架了,android 7.1跑起来也没有问题

2.1啥时候发啊·······························o(╥﹏╥)o

就像楼上那样,手动改一改。

比如 compileSdkVersion / targetSdkVersion / minSdkVersion / APP_PLATFORM 分别设置为 26 、26、16、16

我用的1.8.2的creator,打包后也出现android7.0 wss连接不上的问题,按照你提供的修改方案解决了问题,感谢!

但是出了新的问题,compileSdkVersion 22版本打包的apk在安装的时候可以默认允许所需的权限,如果用26就不会默认允许了,会在用到权限的时候询问是否允许,对很多初级用户来说带来了很多困扰……,不知道有没有别的办法在不升级compileSdkVersion 的情况下解决这个问题@leda @panda

不提交到 google play,走其它方式

如果要提交的话,除了遵守对方的规则(ba wang tiao kuan),我不知道还有什么办法

我是把/Applications/CocosCreator.app/Contents/Resources/cocos2d-x/cocos/platform/android/libcocos2dx/build.gradle中的targetSdkVersion改为19就可以了
正常creator中打包设置的APIlevel是27
目前看下来几台4.x,5.x的手机都没闪退

坐等2.1了。大佬~~

这几种设置都试过了,无法在4.x的系统下运行;

根本原因应该在ndk版本,貌似从r10开始就不兼容5.0以下的android系统。

这个完全错误

  1. 使用 r16b 编译出的 apk,我们有在 小米4(Android 4.4)上验证跑得起来
  2. Google 官方表明,在 ndk r18 会移除 Android 14, 15 的支持 (侧面说:r18 前支持)

Support for ICS (android-14 and android-15) will be removed from r18.

参考链接 https://developer.android.google.cn/ndk/downloads/revision_history

我也觉得谷歌没那么傻,所以我们要支持5.0以下应该如何设置compileSdkVersion / targetSdkVersion / minSdkVersion / APP_PLATFORM ?
cocos官方有验证过的设置方案吗?
creator是1.9的版本

mark

大佬,我现在是2.4.9的,配置的ndk是r19打包成功,但是websocket没法用,两个问题
1.正常来说mac平台的模拟器上可以正常连接吗
2.我看到一篇帖子说2.4.5以上的版本,ndk必须大于r21,是这样吗,因为我换成21时不能成功打包了