我正在尝试使用 gradle appengineUpdate 任务将我的 android app engine 后端部署到 android studio 中的 google。
这是 gradle 控制台中的输出:
Executing tasks: [appengineUpdate]
Configuration on demand is an incubating feature.
:backend:appengineDownloadSdk
:backend:compileJava UP-TO-DATE
:backend:processResources UP-TO-DATE
:backend:classes UP-TO-DATE
:backend:appengineEndpointsGetClientLibs UP-TO-DATE
:backend:appengineEndpointsGetDiscoveryDocs UP-TO-DATE
:backend:war UP-TO-DATE
:backend:appengineExplodeApp UP-TO-DATE
:backend:appengineUpdate
Exception in thread "Thread-24" java.awt.AWTError: Toolkit not found: apple.awt.CToolkit
at java.awt.Toolkit$2.run(Toolkit.java:876)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:861)
at java.awt.Desktop.isDesktopSupported(Desktop.java:169)
at com.google.appengine.tools.admin.OAuth2Native.browse(OAuth2Native.java:321)
at com.google.appengine.tools.admin.OAuth2Native.authorize(OAuth2Native.java:251)
at com.google.appengine.tools.admin.AppCfg.authorizeOauth2(AppCfg.java:426)
at com.google.appengine.tools.admin.AppCfg.<init>(AppCfg.java:190)
at com.google.appengine.tools.admin.AppCfg.<init>(AppCfg.java:124)
at com.google.appengine.tools.admin.AppCfg.main(AppCfg.java:120)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:324)
at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:43)
at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.call(StaticMetaMethodSite.java:88)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
at com.google.appengine.task.appcfg.AppConfigTaskTemplate.runAppConfig(AppConfigTaskTemplate.groovy:68)
at com.google.appengine.task.appcfg.AppConfigTaskTemplate$runAppConfig.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:112)
at com.google.appengine.task.appcfg.AppConfigTaskTemplate$AppConfigRunnable.run(AppConfigTaskTemplate.groovy:121)
at java.lang.Thread.run(Thread.java:745)
我已经用谷歌搜索了,但没有找到解决我的问题的方法。这是配置或安装问题吗?
我遇到了这个问题。我所做的是第一次使用标准从命令行上传它:
~/appengine-java-sdk/bin/appcfg.sh --oauth2 update webap
这会提示我在浏览器中授予它权限,然后要求我将它给我的 secret 剪切粘贴回命令行,我照做了。
现在我可以使用 gradle appengineUpdate 任务从 Android Studio 上传它(它不会再次询问我的密码)没有问题。
我是一名优秀的程序员,十分优秀!