我在亚马逊开发者论坛上发布了此内容,但我想我也会在这里尝试看看是否有人有任何想法。至少可以对supported_abis
问题进行一点解释?较新的maps v2 API是否不再包含此字段?地图调试和发布注册已使用我拥有的当前调试和发布密钥库完成。如logcat中所示,地图v2正在加载(直到出现错误为止)。
compileSdkVersion 28
minSdkVersion 19
targetSdkVersion 28
multiDexEnabled true
buildToolsVersion '28.0.3'
我正在尝试将现有的Android应用迁移到Fire OS,但无法加载地图v2。
使用此:
<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 / AndroidRuntime(10981):位于com.amazon.geo.mapsv2.pvt.RemoteContextUtils.loadModule(RemoteContextUtils.java:152)
E / AndroidRuntime(10981):在com.amazon.geo.mapsv2.util.AmazonMapsRuntimeUtil.loadEngineContext(AmazonMapsRuntimeUtil.java:215)
E / AndroidRuntime(10981):com.amazon.geo.mapsv2.util.AmazonMapsRuntimeUtil.access $ 100(AmazonMapsRuntimeUtil.java:50)
E / AndroidRuntime(10981):在com.amazon.geo.mapsv2.util.AmazonMapsRuntimeUtil $ DefaultEngineLoader.createInstance(AmazonMapsRuntimeUtil.java:613)
E / AndroidRuntime(10981):在com.amazon.geo.mapsv2.util.AmazonMapsRuntimeUtil $ DefaultEngineLoader.createInstance(AmazonMapsRuntimeUtil.java:608)
E / AndroidRuntime(10981):在com.amazon.geo.mapsv2.pvt.LazyInitializer.get(LazyInitializer.java:41)
E / AndroidRuntime(10981):位于com.amazon.geo.mapsv2.util.AmazonMapsRuntimeUtil.getRemoteContext(AmazonMapsRuntimeUtil.java:325)
E / AndroidRuntime(10981):位于com.amazon.geo.mapsv2.MapsInitializer.initialize(MapsInitializer.java:54)
E / AndroidRuntime(10981):在com.amazon.geo.mapsv2.MapFragment $ InitializerTask.doInBackground(MapFragment.java:302)
E / AndroidRuntime(10981):在com.amazon.geo.mapsv2.MapFragment $ InitializerTask.doInBackground(MapFragment.java:299)
E / AndroidRuntime(10981):位于android.os.AsyncTask $ 2.call(AsyncTask.java:288)
我正在尝试在具有Fire OS 4.5.5.3的Fire平板电脑上运行它。这太老了不能运行吗?该应用程序是使用最新的Android SDK(28)和gradle文件构建的,因此很难回滚到旧版本。
除地图第2版外,其他活动和片段在整个应用程序中的加载情况都很好。
我使用本地Maven存储库添加了它。
这是真的:
return AmazonMapsRuntimeUtil.<em>isAmazonMapsRuntimeAvailable</em>(context) == com.amazon.geo.mapsv2.util.ConnectionResult.SUCCESS;
除了supported_abis
是CPU规格以外,我没有在handleSubmit = (event) => {
event.preventDefault();
const {onSearch} = this.props
const {value} = this.query
onSearch(value)
event.target.blur();
}
上找到太多,至少它如何应用于Amazon地图。这款平板电脑太旧了,无法加载吗?这就是我要测试的全部。为什么它会加载其他活动,而无法加载此亚马逊地图v2片段?不尝试加载位置服务或其他任何内容。片段被包裹在一个简单的相对布局中。
任何帮助将不胜感激。
答案 0 :(得分:0)
SUPPORTED_ABIS
字段是Android Build类的一部分。它是在API 21中引入的。
您的问题是您的Kindle没有运行API21。用于Kindle Fire HDX 2013的Fire OS的最新版本是4.5.5.3,即based on API 19/KitKat。
对不起,但是,如果您想在Fire OS上进行测试,则需要获得至少运行Fire OS 5的Kindle设备,而您的应用程序将无法在此版本上运行。亚马逊有instructions for setting up a Kindle emulator(多种),但实际上只是具有普通Android的Kindle的硬件配置文件。不过,足以了解该应用程序如何在Fire OS上运行。