Xin chào tất cả và Xin lỗi trước vì đã đặt câu hỏi này, nhưng sau năm ngày tìm kiếm trên stackoverflow và làm google-engineering tôi vẫn không có câu trả lời cho câu hỏi của mình:Qt Creator 3.2.1 bao gồm .jar cho Android
Tôi muốn bao gồm một số tệp * .jar vào dự án của mình sẽ được ứng dụng android của tôi sử dụng sau khi Qt biên dịch nó.
Đây là môi trường của tôi:
- cài đặt Qt Creator 3.2.1 (exe, không được biên dịch từ các nguồn)
- main.cpp (bắt đầu Qt-Phần)
- android/MainActivity.java (bắt đầu công cụ "Hello world" đơn giản và sẽ bao gồm các lớp khác nhau được cung cấp bởi .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 chứa .jars cần
Sau khi googling cho vấn đề đó, tôi đã cố gắng gần như tất cả mọi thứ, nhận được kết quả tương tự mỗi thời gian: .jars không được tìm thấy cho android ứng dụng hoặc quá trình xây dựng đã không làm việc:
[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
và như vậy, đối với tất cả trong số tám lọ đó sẽ được đưa vào.
Dưới đây là những điều tôi đã cố gắng để bao gồm họ:
- tạo một thư mục trong android, gọi là "libs" và đặt lọ của tôi vào nó. Sau khi xây dựng dự án, thư mục và các lọ đã được sao chép vào thư mục build. Bằng cách không cho thiết bị như nó có vẻ.
- bao gồm họ cũng đơn giản các file khác như AndroidManifest và 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 \
- cố tài sản đưa vào lại tập tin .pro:
LIBS_INSTALL_PATH=/assets/libs
thư viện .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 + = FORCE cài đặt + = thư viện
- tạo ra một tập tin libraries.qrc và bao gồm này qua NGUỒN + = libraries.qrc trong file .pro. thư viện.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>
- cố gắng với qmake (mà trả về một lỗi, mà tập tin RCC không tìm thấy)
"rcc -binary google-api-client-1.19.0.jar -o google-api-client-1.19.0.rcc"
như thêm tham số
... Tôi thực sự không biết phải làm gì tiếp theo, tất cả các cấu hình Android của tôi (JDK, SDK, NDK, Ant) đều ở đúng vị trí và có thể truy cập được, biến JAVA_HOME var và ANT var được đặt.
Hai mùi hương cuối cùng: mã tôi muốn đưa vào Android là ứng dụng xác thực của Google+ mà tôi đã tạo bằng ADT Android và hoạt động tốt. Tôi sẽ chuyển các thành phần làm việc đó vào môi trường xây dựng của Qt.
Cảm ơn trước đã đọc mô tả looooong đó và giúp tôi giải quyết!
Loyd
Vì vậy, không có khả năng bao gồm tệp .jar theo bất kỳ cách nào để "chuyển tiếp" nó tới ứng dụng Android của tôi, được tạo bằng Qt? –
@LoydSchnitzel Tôi chắc chắn có, tôi chỉ đơn thuần chỉ ra những gì chắc chắn sẽ không hoạt động. –
Bạn nói đúng ... Mỗi lần chúng ta có thể bỏ qua một cách sai lầm, đó là một bước đi đúng đắn! Cảm ơn vì đầu vào của bạn! (Sẽ đánh giá câu trả lời của bạn lên, nhưng tôi không có danh tiếng yêu cầu đến nay) –