Skip to content

Solución para usar TMapView en dispositivos Android 9

Al lanzar mi aplicación en Google Play Store, comencé a recibir reclamos de error en dispositivos con Android 9.

Después de investigar un par de días, dí con el problema, TMapView. Parece ser que este componente muy utilizado últimamente genera algún tipo de error con esta nueva versión de Android.

Configurar TMapView Correctamente para Android 9

En primer lugar y como lo hacemos de costumbre, debemos configurar la apiKey, para ello vamos al menú Project -> Options -> Aplication -> Version Info, y allí llenamos el campo apiKey.

Luego marcamos la casilla de Map Services ubicada en Project -> Options -> Aplication -> Entitlement List

Luego, y aquí la verdadera solución al problema de TMapView en Android 9, es agregar en el AndroidManifest.template.xml, exactamente en la sección de application la siguiente línea de comando.

<uses-library android:name="org.apache.http.legacy" android:required="false" />

Quedando la sección de Application del AndroidManifest de la siguiente manera:

<application android:persistent="%persistent%" 
    android:restoreAnyVersion="%restoreAnyVersion%" 
    android:label="%label%" 
    android:debuggable="%debuggable%" 
    android:largeHeap="%largeHeap%"
    android:icon="%icon%"
    android:theme="%theme%"
    android:hardwareAccelerated="%hardwareAccelerated%"
    android:resizeableActivity="false">

<!-- Esta línea soluciona el problema de Android 9 -->
<uses-library android:name="org.apache.http.legacy" android:required="false" />

    <%provider%>
    <%application-meta-data%>
    <%services%>

Y a compilar…