Italian inserire google maps in una app

Discussion in 'Italian Forum' started by abcroverix, Feb 5, 2015.

  1. abcroverix

    abcroverix Member Licensed User

    Ciao a tutti,
    sto cercando di integrare nella mia app google maps.
    Utilizzo b4a v3.50
    Ho seguito il tutorial su Google maps v2

    Ho installato l'sdk per i google play servirces
    e copiato in una cartella la ExtraLibs in b4a, il file google-play-services.jar (specificandone il path in Additonal Libraries)

    Nel manifest ho inserito questi parametri:

    AddManifestText( <permission
    android:name="$PACKAGE$.permission.MAPS_RECEIVE"
    android:protectionLevel="signature"/>
    <uses-feature android:glEsVersion="0x00020000" android:required="true"/>)
    AddApplicationText(<meta-data
    android:name="com.google.android.maps.v2.API_KEY"
    android:value="AIzaSyC0DS-QVsL-_5-H1LijWp-EiEFTIpe9Ujw"/>
    <meta-data android:name="com.google.android.gms.version"
    android:value="@Integer/google_play_services_version"
    />)

    AddPermission(android.permission.INTERNET)
    AddPermission(android.permission.ACCESS_NETWORK_STATE)
    AddPermission(com.google.android.providers.gsf.permission.READ_GSERVICES)
    AddPermission(android.permission.WRITE_EXTERNAL_STORAGE)

    Ma alla compilazione mi da questo errore:

    Parsing code. Error
    Error parsing program.
    Error description: Error parsing attribute: #AdditionalRes C:\Program Files\Android\android-sdk\extras\google\google_play_services\libproject\google-play-services_lib\res, com.google.android.gms
    Occurred on line: 8
    #AdditionalRes C:\Program Files\Android\android-sdk\extras\google\google_play_services\libproject\google-play-services_lib\res, com.google.android.gms

    Cosa sbaglio?
    Qualcuno può darmi gentilmente un aiuto?
    Grazie
     
  2. maxware

    maxware Well-Known Member Licensed User

    vedi se questo mio manualetto ti può essere d'aiuto
    ciaoo Mamo
    Link
     
  3. abcroverix

    abcroverix Member Licensed User

    Grazie Mamo per il link al manuale.
    Ho ricontrollato tutti i passaggi che hai descritto, ma no mi da sempre lo stesso errore di compilazione.

    Avevo provato ad utilizzare anche il secondo metodo (parametri diversi nel manifest, presi dalla guida di Erel), si compilava, ma avviando l'app, crashava.

    Cosa posso controllare?
    Grazie

    Ciao Fabio
     
  4. maxware

    maxware Well-Known Member Licensed User

    prova a mettere le librerie direttamente nella cartella principale e non nella additional ( almeno io ho fatto cosi )
     
  5. maxware

    maxware Well-Known Member Licensed User

    questa parte del manifest
    <meta-data android:name="com.google.android.gms.version"
    android:value="@@Integer/google_play_services_version"
    />)
    nel mio progetto non c'e'
     
  6. abcroverix

    abcroverix Member Licensed User

    Infatti dopo aver guardato il tuo manuale ho ripulito e fatto copia e incolla del tuo manifest.
    Cmq mi da errore in compilazione nell'additionalres

    #Region Project Attributes
    #ApplicationLabel: GMaps
    #VersionCode: 1
    #VersionName:
    'SupportedOrientations possible values: unspecified, landscape or portrait.
    #SupportedOrientations: unspecified
    #CanInstallToExternalStorage: False
    #AdditionalRes C:\Program Files\Android\android-sdk\extras\google\google_play_services\libproject\google-play-services_lib\res, com.google.android.gms

    #End Region
     
  7. maxware

    maxware Well-Known Member Licensed User

    Prova a Metti le libtetie nell libraries pricipale
     
  8. udg

    udg Expert Licensed User

    Possibile che il problema sia lo spazio in "Program Files" ? Prova ad inserire tutta la stringa tra virgolette, tipo
    Code:
    #AdditionalRes "C:\Program Files\Android\android-sdk\extras\google\google_play_services\libproject\google-play-services_lib\res", com.google.android.gms
     
  9. abcroverix

    abcroverix Member Licensed User

    Purtroppo anche inserendo le librerie nella libreria principale o la stringa tra virgolette come suggerito da udg mi da sempre lo stesso errore.
    Sia in debug mode che in release.
     
  10. fabio55

    fabio55 Member Licensed User

    Ho un programma che funziona con google maps. Ho seguito le istruzioni del tutorial.
    Io ho questo statement, e l'unica differenza con il tuo è lo spazio in "Program file". Forse potresti reinstallare android in apposita cartella...
    #AdditionalRes: C:\android-sdk\extras\google\google_play_services\libproject\google-play-services_lib\res, com.google.android.gms
    Per quanto riguarda il manifesto io ho soltanto questo per quanto riguarda le mappe:

    AddManifestText( <permission
    android:name="$PACKAGE$.permission.MAPS_RECEIVE"
    android:protectionLevel="signature"/>
    <uses-feature android:glEsVersion="0x00020000" android:required="true"/>)
    AddApplicationText(<meta-data
    android:name="com.google.android.maps.v2.API_KEY"
    android:value="XXXXX"/>
    <meta-data android:name="com.google.android.gms.version"
    android:value="@Integer/google_play_services_version"
    />)
    AddPermission(android.permission.ACCESS_NETWORK_STATE)

    Naturalmente XXXXX è la chiave ottenuta da google.
    Io ho la versione BA 4.0

    Spero questo ti aiuti.
     
    Last edited: Feb 6, 2015
  11. udg

    udg Expert Licensed User

    Nelle istruzioni di installazione di B4A in effetti si legge:
     
  12. abcroverix

    abcroverix Member Licensed User

    Ciao, ho disinstallato l'sdk e reinstallato nella cartella di default proposta dal setup e l'errore è sempre lo stesso:

    Parsing code. Error
    Error parsing program.
    Error description: Error parsing attribute: #AdditionalRes C:\Users\Fabio\AppData\Local\Android\sdk\extras\google\google_play_services\libproject\google-play-services_lib\res, com.google.android.gms
    Occurred on line: 8
    #AdditionalRes C:\Users\Fabio\AppData\Local\Android\sdk\extras\google\google_play_services\libproject\google-play-services_lib\res, com.google.android.gms
     
  13. fabio55

    fabio55 Member Licensed User

    ma esiste la cartella sdk sotto Android?
    Invece di:
    C:\Users\Fabio\AppData\Local\Android\sdk\extras\google\google_play_services\libproject\google-play-services_lib\res, com.google.android.gms
    penso
    C:\Users\Fabio\AppData\Local\Android\extras\google\google_play_services\libproject\google-play-services_lib\res, com.google.android.gms

    Se non funziona prova installare l'Android sdk in c:\Android
    facci sapere...
     
  14. abcroverix

    abcroverix Member Licensed User

    Aggiornamento: seguendo il manuale di Maxware, ho notato che non c'è la riga di #AdditionalRes e l'ho tolta.
    La compilazione va a buon fine, ma nel nexus 7 con android 5.0.2 mi crasha subito e nel log dice che non trova la definizione di una classe

    java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/common/GooglePlayServicesUtil;
    at anywheresoftware.b4a.objects.MapFragmentWrapper.IsGooglePlayServicesAvailable(MapFragmentWrapper.java:101)
    at b4a.example.main._activity_create(main.java:282)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at anywheresoftware.b4a.BA.raiseEvent2(BA.java:174)
    at b4a.example.main.afterFirstLayout(main.java:98)
    at b4a.example.main.access$100(main.java:16)
    at b4a.example.main$WaitForLayout.run(main.java:76)
    at android.os.Handler.handleCallback(Handler.java:739)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:135)
    at android.app.ActivityThread.main(ActivityThread.java:5221)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
    Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.common.GooglePlayServicesUtil" on path: DexPathList[[zip file "/data/app/b4a.example-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:469)


    In un post di Erel in cui spiega come installare i google play services riporta questo:
    "Note that the latest version of Google Play Services requires Java 7 (set with Tools - Configure Paths) and requires B4A v3.82+"

    Ed io ho la versione del jdk1.7.0_51 ma B4A 3.50. Potrebbe essere questo il motivo dell'errore qui sopra?
     
  15. fabio55

    fabio55 Member Licensed User

Loading...
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice