Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 具有自定义ROM的设备之间的API兼容性_Android_Api_Opengl Es - Fatal编程技术网

Android 具有自定义ROM的设备之间的API兼容性

Android 具有自定义ROM的设备之间的API兼容性,android,api,opengl-es,Android,Api,Opengl Es,我们有一款android游戏,它使用OpenGL ES 2.0制作所有图形。这款游戏可以在装有普通ROM的android手机上运行,但如果我们在最新的偏执型android(一种定制ROM)上进行测试,应用程序就会崩溃。在不同的API级别(android版本)上测试时,它仍然崩溃 Graphics developer说我们对此无能为力,因为这是自定义ROM的错误,但我的观点不同 根据谷歌关于OpenGLES()的兼容性说明,任何android版本2.2或更高版本(API 8)都应该支持OpenGL

我们有一款android游戏,它使用OpenGL ES 2.0制作所有图形。这款游戏可以在装有普通ROM的android手机上运行,但如果我们在最新的偏执型android(一种定制ROM)上进行测试,应用程序就会崩溃。在不同的API级别(android版本)上测试时,它仍然崩溃

Graphics developer说我们对此无能为力,因为这是自定义ROM的错误,但我的观点不同

根据谷歌关于OpenGLES()的兼容性说明,任何android版本2.2或更高版本(API 8)都应该支持OpenGLES2.0。因此,任何android版本2.2或更高版本(API 8)的自定义ROM都应该支持我们的应用程序,因此代码中存在错误


我的推理正确吗?总之,如果两个ROM使用相同的android版本(或API级别),任何ROM(定制或库存)都应该支持相同的应用程序,并且只有谷歌有权更改某些API级别附带的功能(换句话说,如果谷歌发布API 18,所有使用API 18的ROM都共享相同的功能。

你的推理有两个缺陷

1) 这只适用于android官方授权的设备和ROM。这并不意味着所有的东西都能与一些随机构建一起工作——OEM可以删除这些特性。例如,三星取消了自动更正服务

2) 某些功能需要硬件和驱动程序支持。如果没有这些,任何代码都无法打开它们——如果你的设备没有摄像头,它就无法在软件中添加摄像头。OpenGL就是这些特性之一。你需要3d硬件和驱动程序。很可能定制ROM没有驱动程序,或者驱动程序出现故障


也就是说,它可能是特定于设备的bug,也可能是代码中的bug。查看堆栈跟踪,看看崩溃是什么,然后决定是否修复它。

您是否查看了崩溃的LogCat输出,以确定导致崩溃的具体原因?