ЗДЕСЬ Карты Android Интеграция, ошибка MISSING_LIBRARIES

Я выполнил шаги https://developer.here.com/mobile-sdks/documentation/android/topics/app-simple-android-studio.html

Но я получаю ошибку как: Не удается инициализировать фрагмент карты MISSING_LIBRARIES

Код инициализации карты:

mapFragment.init(new OnEngineInitListener() { @Override public void onEngineInitializationCompleted(OnEngineInitListener.Error error) { if (error == OnEngineInitListener.Error.NONE) { // retrieve a reference of the map from the map fragment map = mapFragment.getMap(); // Set the map center to the Vancouver region (no animation) map.setCenter(new GeoCoordinate(49.196261, -123.004773, 0.0), Map.Animation.NONE); // Set the zoom level to the average between min and max map.setZoomLevel( (map.getMaxZoomLevel() + map.getMinZoomLevel()) / 2); } else { System.out.println("ERROR: Cannot initialize Map Fragment " + error.toString()); Toast.makeText(MainActivity.this, " Error: " + error.toString(), Toast.LENGTH_LONG).show(); } } }); 

Код градиента

 apply plugin: 'com.android.application' android { compileSdkVersion 22 buildToolsVersion "22.0.1" defaultConfig { applicationId "com.chethan.mobileapp.startmap" minSdkVersion 15 targetSdkVersion 22 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:22.2.1' compile 'com.android.support:design:22.2.1' compile files('libs/HERE-sdk.jar') compile files('libs/jts-1.14.jar') } 

Код манифеста:

 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.ethan.mobileapp.startmap"> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity" android:label="@string/app_name" android:hardwareAccelerated="true" android:theme="@style/AppTheme.NoActionBar"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <meta-data android:name="com.here.android.maps.appid" android:value="Ksn3W" /> <meta-data android:name="com.here.android.maps.apptoken" android:value="m90-Q" /> <!--<meta-data android:name="com.here.android.maps.license.key" android:value="{J8XXfNbyt7M=}" /> --> </application> </manifest> 

Любые предложения, которые были высоко оценены

Я считаю, что вы смотрите на неправильную документацию. На этой странице: https://developer.here.com/documentation есть две версии ЗДЕСЬ Android Mobile SDK, перечисленных в SDK для Android Starter и SDK для Android Premium. Вы смотрите документацию для Starter, когда я думаю, что вы хотите Premium.

В Premium SDK есть собственный компонент библиотеки, который должен быть включен в сборку. Попробуйте эту страницу: https://developer.here.com/mobile-sdks/documentation/android-hybrid-plus/topics/app-simple-android-studio.html («Добавить ЗДЕСЬ в Библиотеку SDK в ваш проект»)

В частности, я считаю, что это те разделы, которые вы пропустили:

  • Из каталога, в котором вы установили HERE SDK, скопируйте содержимое папки HERE-sdk / libs / armeabi-v7a в папку вашего приложения / src / main / jniLibs / armeabi вашего проекта. Вам нужно создать подпапки jniLibs и armeabi.

  • В том же разделе в вашем файле AndroidManifest.xml добавьте следующие строки:

    <service android:name="com.here.android.mpa.service.MapService" android:label="HereMapService" android:process="global.Here.Map.Service.v2" android:exported="true" > <intent-filter> <action android:name="com.here.android.mpa.service.MapService" > </action> </intent-filter> </service>

ОБНОВИТЬ

В настоящее время SDK версии 3.3 SDK поставляется в виде файла Android Archive (AAR). Поэтому вам больше не нужно вручную копировать собственные библиотеки, как указано в первом выпуске выше. Вы можете просто включить файл AAR в файл build.gradle. например:

 // Assuming you have placed the HERE-sdk.aar in a folder 'libs' repositories { flatDir { dirs 'libs' } } dependencies { ... compile(name: 'HERE-sdk', ext: 'aar') ... } 

Убедитесь, что ваше устройство соответствует перечисленным здесь системным требованиям. В частности, убедитесь, что ваше устройство ARM, а не x86.

Я столкнулся с ошибкой «MISSING_LIBRARIES» при запуске карт HERE на HP Pro Slate 10 EE G1. Этот планшет – x86, который не поддерживается текущим SDK ЗДЕСЬ. Нативный код ARM работает на Intel x86 с использованием эмулятора с именем Houdini. Объяснение этого можно найти здесь .

К сожалению, я знаю, что это не исправить вашу проблему. Однако это может помочь вам понять, почему приложение не будет инициализировать карту.