Harry Cho
Harry Cho

Reputation: 2519

API compatibility across devices with custom ROMs

We have android game and it uses OpenGL ES 2.0 for all graphics. The game works on android phones that are loaded with stock ROMs, but if we test on latest Paranoid android which is a custom ROM, the app crashes. Testing on different API levels (android version), it still crashes.

Graphics developer said we cannot do anything about it because it's custom ROM's fault, but my argument is different.

According to Google's compatibility notes on OpenGL ES (link), any android version 2.2 or above (API 8) should support OpenGL ES 2.0. So any custom ROMs with android version 2.2 or above ( API 8) should support our app, and therefore error is in the code.

Is my reasoning correct? In summary, any ROMS (custom or stock) should support the same app if two ROMs are using same android version (or API level), and only Google has power to change what features are shipped with certain API level (In other words, if Google releases API 18, all ROMs using API 18 share same functionalities.

Upvotes: 0

Views: 387

Answers (1)

Gabe Sechan
Gabe Sechan

Reputation: 93542

Your reasoning has 2 flaws.

1)That's only true for android officially licensed devices and ROMs. It doesn't mean everything will work with some random build flashed on- the OEM can remove features. For example, Samsung removes the auto-correct service

2)Some features require hardware and driver support. Without those no code can turn them on- if your device doesn't have a camera, it can't add one in software. OpenGL is one of those features. You need 3d hardware and the drivers for it. Its very possible that a custom ROM won't have a driver, or will have a malfunctioning driver.

That said, it could be a device specific bug or a bug in your code still. Take a look at the stack trace and see what the crash is, then decide whether to fix it.

Upvotes: 2

Related Questions