【发布时间】:2016-04-30 05:31:17
【问题描述】:
我正在使用 Google App Engine 连接到 Firebase,但它引发了异常。我正在遵循以下提到的步骤:
https://cloud.google.com/solutions/mobile/firebase-app-engine-android-studio
虽然它引用的库已经更新,所以我正在运行更新版本的依赖项:
/** libraries for using firebase on the GoogleAppEngine */
compile 'com.google.appengine:appengine-api-1.0-sdk:1.9.31'
compile 'com.firebase:firebase-client-jvm:2.5.0'
compile 'org.apache.httpcomponents:httpclient:4.3.5'
另外,我没有创建App Engine Java Servlet Module,而是创建了App Engine Backend with Google Cloud Messaging,因为它更容易添加 GCM 功能,并且我手动创建了 servlet(请注意,没有 Firebase 语句,Servlet 可以正常工作)
appengine-web.xml
<?xml version="1.0" encoding="utf-8"?>
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
<application>GOOGLE_CONSOLE_PROJECT_ID</application>
<version>1</version>
<threadsafe>true</threadsafe>
<manual-scaling>
<instances>1</instances>
</manual-scaling>
<system-properties>
<property name="java.util.logging.config.file" value="WEB-INF/logging.properties"/>
<property name="gcm.api.key" value="YOUR_KEY_HERE"/>
</system-properties>
</appengine-web-app>
当我创建 Firebase 引用时它崩溃了:
final Firebase usersLocation = new Firebase(Constants.FIREBASE_URL_USERS);
例外:
java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "modifyThreadGroup")
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:382)
at java.security.AccessController.checkPermission(AccessController.java:572)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at com.google.apphosting.runtime.security.CustomSecurityManager.checkPermission(CustomSecurityManager.java:55)
at com.google.apphosting.runtime.security.CustomSecurityManager.checkAccess(CustomSecurityManager.java:136)
at java.lang.ThreadGroup.checkAccess(ThreadGroup.java:315)
at java.lang.Thread.init(Thread.java:391)
at java.lang.Thread.init(Thread.java:349)
at java.lang.Thread.<init>(Thread.java:675)
【问题讨论】:
标签: java google-app-engine android-studio firebase