Tom*_*Tom 8 python eclipse google-app-engine android google-cloud-endpoints
我在使用Google Cloud Endpoints时遇到了困难.我有一个在GAE上运行的Python端点项目,它使用api explorer完美运行.但是我正在努力正确生成客户端库并在我的Android应用程序中使用它.我尝试了很多样本项目,每次都遇到同样的问题; 我无法从客户端库导入和使用模型类.
这就是我正在做的事情(对于这个例子,我将在https://github.com/GoogleCloudPlatform/appengine-endpoints-helloendpoints-python上使用helloworld api python示例)
通过导航到文件夹并运行来生成客户端库
<gae-sdk>\endpointscfg.py get_client_lib java helloworld_api.HelloWorldApi
Run Code Online (Sandbox Code Playgroud)解压生成的文件夹并复制到eclipse中的项目根目录
在Eclipse中添加"your_app_id_appspot_com-helloworld-v1-20140310110152-java-1.17.0-rc-sources.jar"来构建路径(右键单击JAR>构建路径>添加到构建路径)
在这个阶段,我可以导入,com.appspot.your_app_id.helloworld.model.*但我无法导入com.appspot.your_app_id.helloworld.model.Greeting
任何人都可以了解这里发生的事情吗?我已尝试了许多不同的方法来使其工作,但每次都有同样的问题.
非常感谢,
汤姆
问题是,默认情况下,生成的 zip 文件仅包含源 jar,而不是 Android 应用程序可以使用的实际编译的库 jar。
这是解决方案:
在后端 api 文件夹中(来自 app.yaml 所在的同一位置),将客户端库生成为 gradle 库,如下所示:
<gae-sdk-path>\endpointscfg.py get_client_lib java -bs gradle helloworld_api.HelloWorldApi
现在您将拥有一个 helloworld-v1.zip。解压缩此文件(可以在这里或在方便的地方,例如〜/ temp)
这将创建一个名为 helloworld 的文件夹,其中应该有一个 build.gradle 和一个 src 文件夹。
使用此文件夹中的“gradle install”构建客户端库。
复制build/libs/helloworld-v1-1.X.X-SNAPSHOT.jar到 Android 应用程序的 libs 文件夹中。
通过右键单击/添加为库将其添加为 Android Studio 中的库。
您的类现在应该可以正确解析。
步骤 4 应该将刚刚构建的客户端库安装到本地 Maven 存储库中。您可以按照提取的 helloworld/ 文件夹中的 readme.html 中的说明直接与 Android 应用程序的 gradle 构建系统集成,而不是复制手动构建的 jar。
| 归档时间: |
|
| 查看次数: |
1217 次 |
| 最近记录: |