gpt4 book ai didi

android - 无法在 Android 项目中导入谷歌云端点客户端库类

转载 作者:太空狗 更新时间:2023-10-29 21:07:18 25 4
gpt4 key购买 nike

我在使用 Google Cloud Endpoints 时遇到了困难。我有一个在 GAE 上运行的 Python 端点项目,它可以完美地使用 api 资源管理器。但是,我正在努力正确生成客户端库并将其用于我的 android 应用程序。我尝试了很多示例项目,但每次都遇到同样的问题;我无法从客户端库导入和使用模型类。

这就是我正在做的事情(对于这个例子,我将使用位于 https://github.com/GoogleCloudPlatform/appengine-endpoints-helloendpoints-python 的 helloworld api python 示例)

  1. 解压示例代码
  2. 通过导航到文件夹并运行来生成客户端库

    <gae-sdk>\endpointscfg.py get_client_lib java helloworld_api.HelloWorldApi
  3. 解压生成的文件夹,复制到eclipse项目根目录

  4. 在 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。

解决方法如下:

  1. 在您的后端 api 文件夹中(与您的 app.yaml 所在的位置相同),将客户端库生成为 gradle 库,如下所示:
    <gae-sdk-path>\endpointscfg.py get_client_lib java -bs gradle helloworld_api.HelloWorldApi

  2. 您现在将拥有一个 helloworld-v1.zip。解压这个(就在这里或在像 ~/temp 这样方便的地方)

  3. 这将创建一个名为 helloworld 的文件夹,其中应该有一个 build.gradle 以及一个 src 文件夹。

  4. 在此文件夹中使用“gradle install”构建您的客户端库。

  5. 复制 build/libs/helloworld-v1-1.X.X-SNAPSHOT.jar放入您的 Android 应用的 libs 文件夹中。

  6. 通过右键单击/add-as-library 将其添加为 Android Studio 中的库。

  7. 您的类现在应该可以正确解析。

第 4 步应该将刚刚构建的客户端库安装到本地 Maven 存储库中。您可以按照您提取的 helloworld/文件夹中的 readme.html 中的说明直接与您的 Android 应用程序的 gradle 构建系统集成,而不是复制您手动构建的 jar。

关于android - 无法在 Android 项目中导入谷歌云端点客户端库类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22303111/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com