Domanda

Seguo questo tutorial collegamento per l'integrazione Here Map di Nokia.Ho ottenuto l'output in questo modo e l'errore

java.lang.IllegalAccessErrore:Ref di classe in classe pre-verificata si è risolto in implementazione imprevisto

enter image description here

Mio

Manifesto.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.heremap"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="11"
        android:targetSdkVersion="16" />
<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.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >

<uses-library android:name="com.here.android" android:required="true" />
        <activity
            android:name="com.example.heremap.MainActivity"
            android:label="@string/app_name" >
            <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="XXXXXX"/>
<meta-data android:name="com.here.android.maps.apptoken"
android:value="XXXXXX"/>
    </application>

</manifest>

MainActivity.java

    package com.example.heremap;

import android.app.Activity;
import android.os.Bundle;

import com.here.android.mapping.FragmentInitListener;
import com.here.android.mapping.InitError;
import com.here.android.mapping.Map;
import com.here.android.mapping.MapAnimation;
import com.here.android.mapping.MapFactory;
import com.here.android.mapping.MapFragment;

public class MainActivity extends Activity {

    // map embedded in the map fragment
    private Map map = null;

    // map fragment embedded in this activity
    private MapFragment mapFragment = null;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // Search for the map fragment to finish setup by calling init().
        mapFragment = (MapFragment) getFragmentManager().findFragmentById(
                R.id.mapfragment);
        mapFragment.init(new FragmentInitListener() {
            @Override
            public void onFragmentInitializationCompleted(InitError error) {
                if (error == InitError.NONE) {
                    // retrieve a reference of the map from the map fragment
                    map = mapFragment.getMap();
                    // Set the map center coordinate to the Vancouver region
                    map.setCenter(MapFactory.createGeoCoordinate(49.196261,
                            -123.004773, 0.0), MapAnimation.NONE);
                    // Set the map zoom level to the average between min and max
                    // (with no animation)
                    map.setZoomLevel((map.getMaxZoomLevel() +
                            map.getMinZoomLevel()) / 2);
                } else {
                    System.out.println("ERROR: Cannot initialize Map Fragment");
                }
            }
        });
    }
}

attività_main.xml

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world"
        tools:context=".MainActivity" />
<fragment
    class="com.here.android.mapping.MapFragment"
    android:id="@+id/mapfragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>
</LinearLayout>

Registro errori:

 02-26 06:06:47.192: E/AndroidRuntime(808): FATAL EXCEPTION: main 02-26
 06:06:47.192: E/AndroidRuntime(808): java.lang.IllegalAccessError:
 Class ref in pre-verified class resolved to unexpected implementation
 02-26 06:06:47.192: E/AndroidRuntime(808):     at
 com.example.heremap.MainActivity.onCreate(MainActivity.java:27) 02-26
 06:06:47.192: E/AndroidRuntime(808):   at
 android.app.Activity.performCreate(Activity.java:5180) 02-26
 06:06:47.192: E/AndroidRuntime(808):   at
 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
 02-26 06:06:47.192: E/AndroidRuntime(808):     at
 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2031)
 02-26 06:06:47.192: E/AndroidRuntime(808):     at
 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2092)
 02-26 06:06:47.192: E/AndroidRuntime(808):     at
 android.app.ActivityThread.access$600(ActivityThread.java:133) 02-26
 06:06:47.192: E/AndroidRuntime(808):   at
 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1203)
 02-26 06:06:47.192: E/AndroidRuntime(808):     at
 android.os.Handler.dispatchMessage(Handler.java:99) 02-26
 06:06:47.192: E/AndroidRuntime(808):   at
 android.os.Looper.loop(Looper.java:137) 02-26 06:06:47.192:
 E/AndroidRuntime(808):     at
 android.app.ActivityThread.main(ActivityThread.java:4807) 02-26
 06:06:47.192: E/AndroidRuntime(808):   at
 java.lang.reflect.Method.invokeNative(Native Method) 02-26
 06:06:47.192: E/AndroidRuntime(808):   at
 java.lang.reflect.Method.invoke(Method.java:511) 02-26 06:06:47.192:
 E/AndroidRuntime(808):     at
 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:792)
 02-26 06:06:47.192: E/AndroidRuntime(808):     at
 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:559) 02-26
 06:06:47.192: E/AndroidRuntime(808):   at
 dalvik.system.NativeStart.main(Native Method)

Dopo aver rimosso il barattolo da ordinare ed esportare la cartella riceve un nuovo errore e il risultato del registro aggiornato

02-26 06:34:09.810:E/Traccia(1266):errore durante l'apertura del file di traccia:Nessun file o directory (2) 02-26 06: 34: 09.859:D/BYD_Flex(1266):getValue () name = @nokiaflex @packageneeddata 02-26 06: 34: 09.859:D/BYD_Flex(1266):Impossibile trovare la variante file/cfg/flex.xml 02-26 06: 34: 09.870:D/BYD_Flex(1266):getValue () readFlexFromxml = typedValue {t = 0x0/d = 0x0} 02-26 06: 34: 09.870:D/BYD_Flex(1266):getValue() nome = @NOKIAFLEX@setDataUsageReminder 02-26 06:34:09.870:D/BYD_Flex(1266):Impossibile trovare la variante file/cfg/flex.xml 02-26 06: 34: 09.870:D/BYD_Flex(1266):getValue () readFlexFromxml = typedValue {t = 0x0/d = 0x0} 02-26 06: 34: 10.249:I/Coreografo(1266):Saltati 44 fotogrammi!L'applicazione potrebbe fare troppo lavoro sul suo thread principale.02-26 06:34:10.249:W/TextureView(1266):Un TextureView o una sottoclasse possono essere utilizzati solo con accelerazione hardware abilitata.02-26 06: 34: 10.459:I/Coreografo(1266):Saltati 53 fotogrammi!L'applicazione potrebbe fare troppo lavoro sul suo thread principale.02-26 06: 34: 11.679:I/Coreografo(1266):Saltati 314 fotogrammi!L'applicazione potrebbe fare troppo lavoro sul suo thread principale.02-26 06: 34: 30.191:I/Coreografo(1266):Saltati 38 fotogrammi!L'applicazione potrebbe fare troppo lavoro sul suo thread principale.02-26 06: 34: 32.183:I/Coreografo(1266):Saltati 34 fotogrammi!L'applicazione potrebbe fare troppo lavoro sul suo thread principale.02-26 06: 35: 00.068:I/Coreografo(1266):Saltati 35 fotogrammi!L'applicazione potrebbe fare troppo lavoro sul suo thread principale.02-26 06: 35: 11.672:I/Coreografo(1266):Saltati 56 fotogrammi!L'applicazione potrebbe fare troppo lavoro sul suo thread principale.

È stato utile?

Soluzione

Ciao amici, finalmente ho trovato l'errore, l'errore è nell'emulatore, dovete creare un emulatore con questa configurazioneenter image description here

Successivamente aggiungi due barattoli biblioteche

  • com.qui.android.sdk.jar
  • com.google.android.maps.sdk.jar

enter image description here

e prendi produzione come questo

enter image description here

Altri suggerimenti

Ricevi questo errore a causa del riferimento alla libreria di terze parti aggiunto due volte.Hai aggiunto il percorso dell'applicazione nel percorso di creazione del progetto.quindi il riferimento alla libreria viene aggiunto automaticamente al progetto".Rimuovi qualsiasi riferimento alla libreria nel progetto di test in Proprietà->Android.Deseleziona i jar dalla scheda "Ordina ed esporta" nel percorso di build Java del progetto in Eclipse. Ma lascia che vengano aggiunti nella scheda "Librerie".Fai clic su OK, pulisci progetti e crea ora.Funziona.

Per errore

       error opening trace file: No such file or directory (2)

Ricreare il dispositivo virtuale Android, assicurandosi di inserire un valore per la dimensione della scheda SD (ho usato 200 MiB).

enter image description here

Tuo minSdkVersion is 8 ma da Tutorial ufficiale hanno detto di impostare minSdkVersion to 11 Vedere PUNTO N. 6 se vuoi accedere a quella mappa in android-2.3 api level 10 allora devi usare Biblioteca di supporto

In generale si ottiene il controllo nero quando l'inizializzazione del controllo mappa fallisce, quindi è possibile controllare la funzione di inizializzazione completa e vedere se il codice di errore indica cosa va storto, molto spesso indica il motivo esatto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top