加载地图时应用程序崩溃:尺寸为16x256的纹理大于android studio中支持的最大尺寸0x0



我的应用程序昨天运行良好。我今天早上醒来继续,加载MapView时它一直崩溃。该应用程序在用户登录后立即加载地图,但现在,它只是因同样的错误而崩溃。这是错误消息:

E/AndroidRuntime: FATAL EXCEPTION: GLThread 272
Process: com.emyce.ridesgh.ridesgh, PID: 6448
java.lang.IllegalArgumentException: Textures with dimensions16x256 are larger than  the maximum supported size 0x0
at com.google.maps.api.android.lib6.gmm6.vector.gl.ah.a(:com.google.android.gms.dynamite_mapsdynamite@14366052@14.3.66 (040700-213742215):72)
at com.google.maps.api.android.lib6.gmm6.vector.gl.aj.a(:com.google.android.gms.dynamite_mapsdynamite@14366052@14.3.66 (040700-213742215):46)
at com.google.maps.api.android.lib6.gmm6.vector.gl.aj.<init>(:com.google.android.gms.dynamite_mapsdynamite@14366052@14.3.66 (040700-213742215):4)
at com.google.maps.api.android.lib6.gmm6.vector.gl.g.<init>(:com.google.android.gms.dynamite_mapsdynamite@14366052@14.3.66 (040700-213742215):44)
at com.google.maps.api.android.lib6.gmm6.vector.bs.a(:com.google.android.gms.dynamite_mapsdynamite@14366052@14.3.66 (040700-213742215):80)
at com.google.maps.api.android.lib6.gmm6.vector.bb.run(:com.google.android.gms.dynamite_mapsdynamite@14366052@14.3.66 (040700-213742215):84).

我一直在谷歌上搜索解决方案,但没有找到。

当我发现这个完全相同的错误时,我发现了这个问题和另一个旧问题。没有对我有效的解决方案。所以我开始阅读地图覆盖的文档。我的照片是3175x2245,这就是问题所在。

来自GroundOverlayOptions的文档

将图像加载为纹理(用于在地图(,必须将其转换为具有边的图像二

所以你必须将图像的宽度和高度转换为二的幂。在我的案例中,折衷方案是2048x2048正方形(将原始图像裁剪为顶部和底部有空间(。它奏效了。有些手机不在乎这一点,另一些则在乎。

我通过将本地Java版本更改为另一个似乎更适合Android开发的版本(Zulu 11(来修复它,清理了我的构建文件夹并重建了应用程序

相关内容

最新更新