2015-04-17 73 views
0

我在Qt中为Android制作了一个应用程序,并且我希望它可以使用Google云消息服务进行推送通知。但是我很难搞清楚如何用Qt来安装所有这些。在Qt项目中引用Google Play库

该文档说,我需要将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:\Users\01222_000\Documents\android-sdk\tools>android update project --target " 
C:\Users\01222_000\Desktop\app1" --path C:\Users\01222_000\Desktop\app1 --librar 
y C:\Users\01222_000\QtProjects\google-play-services_lib 

它给了我这个错误:

Error: Target id 'C:\Users\01222_000\Desktop\app1' is not valid. Use 'android.ba 
t list targets' to get the target ids. 

所以我用android.bat检查哪些目标ID是可用的:

C:\Users\01222_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 

有人能指出我做错了什么吗?还是我一直沿着错误的方向走?

回答

1

您需要使用“android.bat list targets”给出的目标ID之一。也就是说,针对Android 5.1.1,2或1的“android-22”或针对Google API的“Google Inc.:Google API:22”。

一个例子(假设你会使用1或 “机器人-22”),运行:

android update project --target 1 --path C:\Users\01222_000\Desktop\app1 --library C:\Users\01222_000\QtProjects\google-play-services_lib 

android update project --target "android-22" --path C:\Users\01222_000\Desktop\app1 --library C:\Users\01222_000\QtProjects\google-play-services_lib 
+0

我看到,现在它给我这个错误: 错误: C:\ Users \ 01222_000 \ QtProjects \ app1不是有效的项目(未找到AndroidManifest.xml)。 – CantThinkOfAnything

+0

我修复了它,我从GCM的库文件夹中复制了一个androidmanifest.xml文件 – CantThinkOfAnything