我是java / Android开发的新手。我选择的IDE是Android Studio。基本上我需要将图像/视频剪辑和音频剪辑上传到GCS。我正在实例化这样的服务
" final GcsService gcsService => GcsServiceFactory.createGcsService(RetryParams.getDefaultInstance());"
当我运行应用程序时,我收到以下错误
java.lang.NoClassDefFoundError:com.google.appengine.api.utils.SystemProperty at> com.google.appengine.tools.cloudstorage.GcsServiceFactory.createRawGcsService(GcsServiceFact> ory.java:40) at> com.google.appengine.tools.cloudstorage.GcsServiceFactory.createGcsService(GcsServiceFactory> .java:34) at> com.horcu.lme.gavi.cloud.CloudPersister.downloadDataFromGcs(CloudPersister.java:30) at> com.horcu.lme.gavi.MainActivity $ PlaceholderFragment.onCreateView(MainActivity.java:159)
我的build.gradle文件的依赖项部分如下所示依赖{ 编译' com.android.support:support-v4:19.0.1' 编译' com.android.support:appcompat-v7:19.0.1' 编译fileTree(dir:' libs',include:[' * .jar']) 编译com.google.guava:guava-collections:r03 @ jar' 编译com.google.appengine.tools:appengine-gcs-client:0.3.3@jar' 编译' commons-io:commons-io:20030203.000550@jar'
}
正如您所看到的,我包含了appengine-gcs-client jar文件,它编译得很好,但在运行时崩溃。 任何人都可以建议修复此问题吗?
答案 0 :(得分:1)
这通常意味着您缺少依赖项。请注意,GCS只需要appengine-gcs-client jar。首先,我认为它需要joda-time.jar。
此外,使用不在app引擎中作为服务提供的API通常需要Google Java客户端库,你有吗? https://code.google.com/p/google-api-java-client/
最后,我会注意到您上面的错误是“com.google.appengine.api.utils.SystemProperty”,它实际上是应用引擎本身的一部分。你有app引擎JAR吗?我没有使用Android Studio,但我不希望你必须手动添加应用引擎JAR - 当你创建一个应该自动添加的应用引擎项目时。
如果您不喜欢Android Studio,您可能需要考虑Eclipse + ADT,其中所有这些都是为您完成的。谷歌已经表示Android STudio将支持GAE,但它甚至还没有针对Android发布,更不用说应用引擎了。