android 使用亚马逊MapV2 API获取java.lang.NoSuchFieldError

mbyulnm0  于 2023-03-16  发布在  Android
关注(0)|答案(1)|浏览(143)

我在Amazon开发者论坛上发布了这个,但是我想我也可以在这里尝试一下,看看是否有人有什么想法。至少supported_abis问题可以解释一下?更新的Maps v2 API是否不再包含这个字段?Maps调试和发布注册已经使用我拥有的当前调试和发布密钥库完成。如logcat所示,加载MapV2(当然直到出现错误)。

compileSdkVersion 28
minSdkVersion 19
targetSdkVersion 28
multiDexEnabled true
buildToolsVersion '28.0.3'

我正在尝试将现有的Android应用程序迁移到Fire OS,无法加载MapV2。
使用此:

<fragment
   android:id="@+id/mission_map"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   class="com.amazon.geo.mapsv2.MapFragment" />
   setContentView(R.layout.mission_map_layout);

我在日志中继续收到此错误:
原因:java.lang.NoSuchFieldError: android.os.Build.SUPPORTED_ABIS
E/安卓运行时(10981):下载模块(远程上下文应用程序. java:152)
E/安卓运行时(10981):网站地址:亚马逊Map运行时间实用程序加载引擎上下文(亚马逊Map运行时间实用程序java:215)
E/安卓运行时(10981):网址是:亚马逊Map运行时间实用程序。访问$100(亚马逊Map运行时间实用程序)
E/安卓运行时(10981):网站地址:亚马逊Map运行时间实用程序$默认引擎加载程序创建示例(亚马逊Map运行时间实用程序. java:613)
E/安卓运行时(10981):网站地址:亚马逊Map运行时间实用程序$默认引擎加载程序创建示例(亚马逊Map运行时间实用程序. java:608)
E/安卓运行时(10981):获取(延迟初始化器。java:41)
E/安卓运行时(10981):网站地址:亚马逊Map运行时间实用程序获取远程上下文(亚马逊Map运行时间实用程序java:325)
E/安卓运行时(10981):Map初始化(Map初始化器。java:54)
E/安卓运行时(10981):Map片段$初始化任务. do在后台(Map片段. java:302)
E/安卓运行时(10981):Map片段$InitializerTask. doInBackground(Map片段. java:299)
E/安卓运行时(10981):在安卓操作系统上。异步任务$2.call(异步任务. java:288)
我正试图在装有Fire OS 4. 5. 5. 3的Fire平板电脑上运行它。这是不是太老了,不能运行它?这款应用是用最新的Android SDK(28)和Gradle文件构建的,很难回滚到旧的设置。
除了maps v2之外,其他Activity和片段在整个应用中加载良好。
我使用本地Maven存储库添加了它。
这是真的:

return AmazonMapsRuntimeUtil.<em>isAmazonMapsRuntimeAvailable</em>(context) == com.amazon.geo.mapsv2.util.ConnectionResult.SUCCESS;

我在supported_abis上没有找到什么,至少它是如何应用于亚马逊Map的,除了它是一个CPU规格。这款平板电脑是不是太老了,无法加载?这是我唯一需要测试的。为什么它加载了其他活动,却无法加载亚马逊Mapv2的片段?没有尝试加载位置服务或任何东西。片段被 Package 在一个简单的相对布局中。
任何帮助都将不胜感激。

2ul0zpep

2ul0zpep1#

SUPPORTED_ABIS字段是Android Build类的一部分,在API 21中引入。
你的问题是你的Kindle没有运行API 21。Kindle Fire HDX 2013的最新版本是4.5.5.3,它基于API 19/KitKat。
抱歉,但如果你想在Fire OS上测试这一功能,你需要一台运行Fire OS 5以上的Kindle设备,而你的应用程序在低于Fire OS 5的设备上都无法运行。亚马逊有instructions for setting up a Kindle emulator(算是吧),但它实际上只是普通安卓系统Kindle的硬件配置文件。不过,看看这款应用程序在Fire OS上的运行情况应该就足够了。

相关问题