Ciao a tutti e dispiace in anticipo per aver posto questa domanda, ma dopo cinque giorni di ricerche su StackOverflow e facendo google-engineering ho ancora ricevuto alcuna risposta per la mia domanda:Qt Creator 3.2.1 compresa .jar per android
Vorrei includere diversi file * .jar nel mio progetto che saranno utilizzati dalla mia app per Android dopo che Qt l'ha compilato.
Ecco il mio ambiente:
- installati Qt Creator 3.2.1 (exe, non compilato da fonti)
- main.cpp (a partire Qt-Part)
- Android/MainActivity.java (iniziando semplici cose "Hello world" e includeranno diverse classi fornite da .jars (google-api-client-1.19.0.jar google-api-client-android-1.19.0.jar google-http-client-1.19. 0.jar google-http-client-android-1.19.0.jar google-http-client-jackson-1.19.0.jar google-oauth-client-1.19.0.jar jackson-core-asl-1.9.13. jar jsr305-1.3.9.jar)
- Android/AndroidManifest.xml
- Android/libs contenenti le richieste .jars
Dopo googling per quel problema, ho provato quasi tutto, ottenendo lo stesso risultato ogni volta: i .jars non si trovano per la applicazione Android o il processo di compilazione non ha funzionato:
[javac] C:\workspaces\qt_android\build-GsQt-Android\android-build\src\com\gservice\MainActivity.java:14: error: package com.google.android.gms.common does not exist [javac] import com.google.android.gms.common.ConnectionResult; [javac] ^ [javac] C:\workspaces\qt_android\build-GsQt-Android\android-build\src\com\gservice\MainActivity.java:15: error: package com.google.android.gms.common.api does not exist [javac] import com.google.android.gms.common.api.GoogleApiClient; [javac] ^\MainActivity.java:15: error: package com.google.android.gms.common.api does not exist
e così via, per tutti gli otto vasi che devono essere inclusi.
Qui sono le cose che ho cercato di includerli:
- creato una cartella all'interno di Android, chiamato "libs" e mettere i miei vasi in esso. Dopo aver creato il progetto, la cartella e i vasi sono stati copiati nella directory di costruzione. Non per il dispositivo come sembra.
- incluso loro come semplici altri file come l'AndroidManifest e la MainActivity:
OTHER_FILES += \ android/libs/google-api-client-1.19.0.jar \ android/libs/google-api-client-android-1.19.0.jar \ android/libs/google-api-services-gmail-v1-rev2-1.18.0-rc.jar \ android/libs/google-http-client-1.19.0.jar \ android/libs/google-http-client-android-1.19.0.jar \ android/libs/google-http-client-jackson-1.19.0.jar \ android/libs/google-oauth-client-1.19.0.jar \ android/libs/jackson-core-asl-1.9.13.jar \ android/libs/jsr305-1.3.9.jar \ android/AndroidManifest.xml \ android/src/com/gservice/MainActivity.java \
- cercando l'asset-inclusione nel file .pro:
LIBS_INSTALL_PATH=/assets/libs
librerie .path = android/libs libraries.files + = google-api-client-1.19.0.jar google-api-client-android-1.19.0.jar google-http-client-1.19.0.jar google-http -client-android-1.19.0.jar google-http-client-jackson-1.19.0.jar google-oauth-client-1.19.0.jar jackson-core-asl-1.9.13.jar jsr305-1.3.9 .jar libraries.depends + = FORZA installa + = librerie
- creazione di un file libraries.qrc per inserire questa via RISORSE + = libraries.qrc nel file .pro. librerie.QRC:
<RCC> <qresource prefix="/libs"> <file>android/libs/google-api-client-1.19.0.jar</file> <file>android/libs/google-api-client-android-1.19.0.jar</file> <file>android/libs/google-api-services-gmail-v1-rev2-1.18.0-rc.jar</file> <file>android/libs/google-http-client-1.19.0.jar</file> <file>android/libs/google-http-client-android-1.19.0.jar</file> <file>android/libs/google-http-client-jackson-1.19.0.jar</file> <file>android/libs/google-oauth-client-1.19.0.jar</file> <file>android/libs/jackson-core-asl-1.9.13.jar</file> <file>android/libs/jsr305-1.3.9.jar</file> </qresource> </RCC>
- cercando con qmake (che restituisce un errore, quel file RCC non è trovato)
"rcc -binary google-api-client-1.19.0.jar -o google-api-client-1.19.0.rcc"
come ulteriore parametro
... io davvero non lo so che cosa fare dopo, tutte le mie configurazioni Android (JDK, SDK, NDK, Ant) sono nel posto giusto e sono accessibili, vengono impostate var e ANT var JAVA_HOME.
Due scentences alla fine: il codice che voglio includere per Android è un'app di autenticazione Google+ che ho già creato con Android ADT e che funziona perfettamente. Trasferirò i componenti di lavoro nell'ambiente di costruzione di Qt.
Grazie in anticipo per aver letto questa descrizione e per avermi aiutato a risolverlo!
Loyd
Quindi non è possibile includere un file .jar in alcun modo per "inoltrarlo" alla mia applicazione Android, creata con Qt? –
@LoydSchnitzel Sono sicuro che ci sia, sto semplicemente indicando ciò che sicuramente non funzionerà. –
Hai ragione ... Ogni volta che possiamo eleminare un modo sbagliato, è un altro passo nel modo giusto! Grazie per il tuo contributo! (Valuterebbe la tua risposta, ma non ho la reputazione richiesta fino ad ora) –