2013-11-04 39 views
4

好的。所以我研究了幾天,找不到解決我的問題的答案。我有一個Google App Engine Python項目,我一直在爲學校工作了幾個月,現在我希望添加一個Android應用程序以支持它。我在Python中創建了一個使用Javascript和API控制檯的API服務器。我運行了命令「endpointscfg.py get_client_lib java -o。[my_module.MyApi]」,它生成了一個帶有[projectName] - [Api] -v1-20131104131234-java-1.17.0-rc-sources的.zip文件。罐。我將它添加到我的新Android項目的libs /目錄中,並在構建路徑中添加了對它的引用。導入時我還可以看到[Api]名稱包。但是,當試圖從我的API實例化一個對象時,它從我的API中找不到任何東西。如何在Android項目中實例化我在我的Python API中編寫的對象,如果該sources.jar文件不包含它?謝謝!谷歌終端Android與Python後端

回答

3

這是什麼* -sources.jar目前擁有的是客戶端庫的源代碼,您需要自己在一個Java項目中構建它。一種方法是按照本頁中的說明https://developers.google.com/appengine/docs/java/endpoints/consume_android

由於您現在使用的是Google Java Client版本1.17.0-rc而不是1.12.0,因此本文檔有點過時。基本上你需要做的是1)解壓源碼jar,2)將源碼添加到一個java項目中; 3)將庫依賴項添加到您的項目庫目錄和類路徑中; 4)構建項目,並可能將其作爲您的真實Android項目的依賴項目。

這可能需要很長時間。因此,另一種方法是從endpointscfg.py命令生成一個Maven/Gradle客戶端軟件包。你可以做的是在你的命令中添加「-bs = maven」或者「-bs = gradle」(自App Engine SDK 1.8.6以來可以使用「bs」選項:https://developers.google.com/appengine/docs/python/endpoints/endpoints_tool)。你會得到一個「更小」的Maven/Gradle客戶端軟件包。按照包中的readme.html文件中的說明,您可以瞭解如何在Android項目中調用您的API。這很容易,只要運行「mvn install」,並將Maven/Gradle依賴項添加到您的Android項目中,如果您在Android項目中使用Maven或Gradle,我會推薦它。

+0

啊!疑難雜症!現在得到它的工作..謝謝! – vol4life27