在 Qt 项目中引用 Google 播放库
referencing Google Play Library on a Qt Project
我正在 Qt 中为 Android 制作一个应用程序,我希望它使用 Google 云消息服务来推送通知。但是我真的很难弄清楚如何用 Qt 安装所有这些。
文档说我需要将 Google Play 库引用到我的项目中。
https://developer.android.com/tools/projects/projects-cmdline.html#ReferencingLibraryProject
我假设我需要通过命令行完成所有这些,因为我没有使用 android SDK。所以按照文档
To add a reference to a library project, navigate to the <sdk>/tools/ directory and use this command:
android update project \
--target <target_ID> \
--path path/to/your/project
--library path/to/library_projectA
所以我尝试执行:
C:\Users222_000\Documents\android-sdk\tools>android update project --target "
C:\Users222_000\Desktop\app1" --path C:\Users222_000\Desktop\app1 --librar
y C:\Users222_000\QtProjects\google-play-services_lib
它给了我这个错误:
Error: Target id 'C:\Users222_000\Desktop\app1' is not valid. Use 'android.ba
t list targets' to get the target ids.
所以我使用 android.bat 来检查哪些目标 ID 可用:
C:\Users222_000\Documents\android-sdk\tools>android.bat list targets
Available Android targets:
----------
id: 1 or "android-22"
Name: Android 5.1.1
Type: Platform
API level: 22
Revision: 2
Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, W
XGA720, WXGA800, WXGA800-7in
Tag/ABIs : android-tv/armeabi-v7a, android-tv/x86, default/armeabi-v7a, default
/x86, default/x86_64
----------
id: 2 or "Google Inc.:Google APIs:22"
Name: Google APIs
Type: Add-On
Vendor: Google Inc.
Revision: 1
Description: Android + Google APIs
Based on Android 5.1.1 (API level 22)
Libraries:
* com.android.future.usb.accessory (usb.jar)
API for USB Accessories
* com.google.android.media.effects (effects.jar)
Collection of video effects
* com.google.android.maps (maps.jar)
API for Google Maps
Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, W
XGA720, WXGA800, WXGA800-7in
Tag/ABIs : google_apis/armeabi-v7a, google_apis/x86, google_apis/x86_64
有人可以指出我做错了什么吗?还是我完全走错了方向?
您需要使用 "android.bat list targets" 给出的目标 ID 之一。也就是说,1 or "android-22" for Android 5.1.1, 2 or or "Google Inc.:Google APIs:22" for Google APIs.
一个例子(假设您将使用 1 或 "android-22"),运行:
android update project --target 1 --path C:\Users222_000\Desktop\app1 --library C:\Users222_000\QtProjects\google-play-services_lib
或
android update project --target "android-22" --path C:\Users222_000\Desktop\app1 --library C:\Users222_000\QtProjects\google-play-services_lib
我正在 Qt 中为 Android 制作一个应用程序,我希望它使用 Google 云消息服务来推送通知。但是我真的很难弄清楚如何用 Qt 安装所有这些。
文档说我需要将 Google Play 库引用到我的项目中。 https://developer.android.com/tools/projects/projects-cmdline.html#ReferencingLibraryProject
我假设我需要通过命令行完成所有这些,因为我没有使用 android SDK。所以按照文档
To add a reference to a library project, navigate to the <sdk>/tools/ directory and use this command:
android update project \
--target <target_ID> \
--path path/to/your/project
--library path/to/library_projectA
所以我尝试执行:
C:\Users222_000\Documents\android-sdk\tools>android update project --target "
C:\Users222_000\Desktop\app1" --path C:\Users222_000\Desktop\app1 --librar
y C:\Users222_000\QtProjects\google-play-services_lib
它给了我这个错误:
Error: Target id 'C:\Users222_000\Desktop\app1' is not valid. Use 'android.ba
t list targets' to get the target ids.
所以我使用 android.bat 来检查哪些目标 ID 可用:
C:\Users222_000\Documents\android-sdk\tools>android.bat list targets
Available Android targets:
----------
id: 1 or "android-22"
Name: Android 5.1.1
Type: Platform
API level: 22
Revision: 2
Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, W
XGA720, WXGA800, WXGA800-7in
Tag/ABIs : android-tv/armeabi-v7a, android-tv/x86, default/armeabi-v7a, default
/x86, default/x86_64
----------
id: 2 or "Google Inc.:Google APIs:22"
Name: Google APIs
Type: Add-On
Vendor: Google Inc.
Revision: 1
Description: Android + Google APIs
Based on Android 5.1.1 (API level 22)
Libraries:
* com.android.future.usb.accessory (usb.jar)
API for USB Accessories
* com.google.android.media.effects (effects.jar)
Collection of video effects
* com.google.android.maps (maps.jar)
API for Google Maps
Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, W
XGA720, WXGA800, WXGA800-7in
Tag/ABIs : google_apis/armeabi-v7a, google_apis/x86, google_apis/x86_64
有人可以指出我做错了什么吗?还是我完全走错了方向?
您需要使用 "android.bat list targets" 给出的目标 ID 之一。也就是说,1 or "android-22" for Android 5.1.1, 2 or or "Google Inc.:Google APIs:22" for Google APIs.
一个例子(假设您将使用 1 或 "android-22"),运行:
android update project --target 1 --path C:\Users222_000\Desktop\app1 --library C:\Users222_000\QtProjects\google-play-services_lib
或
android update project --target "android-22" --path C:\Users222_000\Desktop\app1 --library C:\Users222_000\QtProjects\google-play-services_lib