cocos2dx android代码适配android7.0系统

在Android7.0中为了提高私有文件的安全性,面向 Android N 或更高版本的应用私有目录将被限制访问。对于这个权限的更改开发者需要留意一下改变:

私有文件的文件权限不在放权给所有的应用,使用 MODE_WORLD_READABLE 或 MODE_WORLD_WRITEABLE 进行的操作将触发 SecurityException。这项权限的变更将意味着你无法通过File API访问手机存储上的数据了,基于File API的一些文件浏览器等也将受到很大的影响。

这个是7.0对文件隐私相关的规定, 但是我看3.14里面“cocos2d-x-3.14\cocos\platform\android\java\src\org\cocos2dx\lib” 这个目录的java代码中仍然使用着File API, 不知道如何兼容android 7.0系统。

1赞

@minggo

@lovekankan 多谢提醒。能给个原文的链接吗?另外,你有测试Android N的手机吗?有发现什么问题吗?

看到了https://developer.android.com/about/versions/nougat/android-7.0-changes.html。我看一下引擎哪里用到了,@lovekankan 你有发现哪些代码有问题吗?

我用Android 7.0手机测试了引擎的例子,没有发现什么问题。

我感觉是我扩展的热更新android so文件出问题了。 手里没有7.0系统的机器也没法测试。

我们用的3.15.1,在mate 5,android7.0上面也出现了问题,无法安装,但在其他android7的机器上就没问题,不知道有没有解决方案呢?

这方面android 是要往ios方面靠了

有报什么错误吗?找不到mate5测试。

看到这个标题后,赶紧去找了几个安卓机来测试

分别测试7.0, 7.1 , android O,没问题,也测试了热更新

cocos2dx 3.15

没有,就是安装后,显示出来一个提示,系统不兼容

我这米6没提示,估计是华为系统原因

其他品牌ANDROID 7.0,还有华为其他型号的ANDROID7.0都没问题。。。。不知道 是不是这台机器独有的问题