AQUÍ Maps Android Integration, MISSING_LIBRARIES Error

Seguí los pasos https://developer.here.com/mobile-sdks/documentation/android/topics/app-simple-android-studio.html

Pero estoy recibiendo error como: No se puede inicializar Fragmento de mapa MISSING_LIBRARIES

Código del mapa init:

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(); } } }); 

Código gradle

 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') } 

Código manifiesto:

 <?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> 

Cualquier sugerencia muy apreciada

Creo que estás viendo la documentación equivocada. En esta página: https://developer.here.com/documentation hay dos versiones de la aplicación Mobile SDK de Android, SDK para Android Starter y SDK para Android Premium. Usted está buscando en la documentación de Starter cuando creo que desea Premium.

El Premium SDK tiene un componente de biblioteca nativo que debe incluirse en la compilación. Pruebe esta página: https://developer.here.com/mobile-sdks/documentation/android-hybrid-plus/topics/app-simple-android-studio.html (sección "Añada bibliotecas SDK a su proyecto")

En concreto, creo que estas son las secciones que te perdiste:

  • Desde el directorio en el que ha instalado el SDK de HERE, copie el contenido de la carpeta HERE-sdk / libs / armeabi-v7a en la carpeta app / src / main / jniLibs / armeabi de su proyecto. Necesita crear las subcarpetas jniLibs y armeabi.

  • En la misma sección del archivo AndroidManifest.xml, agregue las siguientes líneas:

    <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>

ACTUALIZAR

A partir de HERE SDK versión 3.3, el SDK se entrega como un archivo de archivo de Android (AAR). Por lo tanto, ya no necesita copiar manualmente las bibliotecas nativas como se menciona en la primera viñeta anterior. Simplemente puede incluir el archivo AAR en su archivo build.gradle. p.ej:

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

Asegúrese de que su dispositivo cumple con los requisitos del sistema que se enumeran aquí . Específicamente, asegúrese de que su dispositivo es ARM y no x86.

He encontrado el error 'MISSING_LIBRARIES' al ejecutar mapas AQUÍ en el HP Pro Slate 10 EE G1. Esta tableta es x86 que no es compatible con el SDK actual de HERE. ARM código nativo se ejecuta en Intel x86 con un emulador llamado Houdini. Explicación de que se puede encontrar aquí .

Lamentablemente sé que esto no soluciona su problema. Sin embargo, puede ayudarle a entender por qué la aplicación no inicializará el mapa.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.