5

Sto utilizzando un SupportMapFragment con esito positivo. Non ho alcun problema.Errore di runtime di MapFragment Android - Impossibile trovare la classe 'maps.j.k'

Tuttavia, si verifica un errore durante il runtime della mia app. Sono in esecuzione su un Gingerbread Phone e ha l'ultimo GooglePlay. Si noti inoltre che sto utilizzando SupportMapFragment e le altre classi di supporto per soddisfare i pre-Honeycomb.

Could not find class 'maps.j.k', referenced from method maps.y.ae.a` 

L'errore si verifica non appena si aumenta la visualizzazione.

inflater.inflate(R.layout.fragment_map, container, false); 

mio file di layout (fragment_map.xml):

<fragment 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:map="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/map" 
    android:name="com.google.android.gms.maps.SupportMapFragment" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_weight="1" /> 

Stack trace (al momento dell'errore):

Thread [<1> main] (Suspended) 
<VM does not provide monitor information> 
PhoneLayoutInflater(LayoutInflater).inflate(int, ViewGroup, boolean) line: 322 
MapsFragment.onCreateView(LayoutInflater, ViewGroup, Bundle) line: 90 
MapsFragment(Fragment).performCreateView(LayoutInflater, ViewGroup, Bundle) line: 1460 
FragmentManagerImpl.moveToState(Fragment, int, int, int, boolean) line: 911 
FragmentManagerImpl.moveToState(int, int, int, boolean) line: 1088 
BackStackRecord.run() line: 682 
FragmentManagerImpl.execPendingActions() line: 1444 
FragmentManagerImpl$1.run() line: 429 
FragmentActivity$1(Handler).handleCallback(Message) line: 587 
FragmentActivity$1(Handler).dispatchMessage(Message) line: 92 
Looper.loop() line: 150 
ActivityThread.main(String[]) line: 4277  
Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method] 
Method.invoke(Object, Object...) line: 507 
ZygoteInit$MethodAndArgsCaller.run() line: 839 
ZygoteInit.main(String[]) line: 597 
NativeStart.main(String[]) line: not available [native method] 

La mia classe Fragment (contiene il SupportMapFragment)

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
    Bundle savedInstanceState) { 
    super.onCreateView(inflater, container, savedInstanceState); 

    View v = inflater.inflate(R.layout.fragment_maps, container, false); 
    return v; 
} 

Ho tutte le autorizzazioni necessarie nel mio manifest come descritto here.

Non sta causando alcun problema, ma sono curioso di sapere cosa significa. Non ho trovato alcuna risposta

+3

Proguard può essere il problema - si può essere sopra offuscando il codice. –

+0

Hmm, ma nel mio project.properties ho # proguard.config = ... commentato. Non significa che è disabilitato? –

+0

Dovrebbe significare che è disabilitato, problema interessante. –

risposta

0
android:name="com.google.android.gms.maps.SupportMapFragment" 

sostituirli con

class="com.google.android.gms.maps.SupportMapFragment" 
+0

Non ho avuto paura. Ho anche notato che succede solo la prima volta che viene caricata la mappa. Se minimizzi l'app o cambi attività ecc. Quindi torna alla mappa l'errore non viene generato. –

0

Se stai facendo override SupportMapfragment e la creazione di una classe frammento, perché stai usando android:name="com.google.android.gms.maps.SupportMapFragment" nella vostra attività xml.

Utilizzare invece com.your.package.your.supportmapfragment. È necessario utilizzare class="com.google.android.gms.maps.SupportMapFragment"