2015-04-17 72 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