我有一个核心项目,转换为5个不同的平台.我需要根据正在运行的平台更改一些参数.例如,如果它是android我需要将ip更改为模拟器localhost 10.0.0.2等.
我尝试使用以下答案确定这一点在Java中,是否可以知道某个类是否已经加载?
但是任何(甚至不存在的)类的调用都返回true.
这是一个简单的helloworld项目,它使用从MyBean
和MyEndpoint
默认生成的类生成的端点Endpoints module
.我使用的模拟器是Genymotion,我通过/10.0.2.2 ip 连接到它.当我在我的网络浏览器中本地访问端点服务器"localhost:8080"时它工作得很好但是当我在AndroidStudio中使用模拟器运行/调试它时,我得到了这个超时异常:
-3571/com.serjsmor.anotherbackend W/System.err? java.net.SocketTimeoutException: failed to connect to /10.0.2.2 (port 8080) after 20000ms
03-03 11:44:30.310 3548-3571/com.serjsmor.anotherbackend W/System.err? at libcore.io.IoBridge.connectErrno(IoBridge.java:169)
03-03 11:44:30.310 3548-3571/com.serjsmor.anotherbackend W/System.err? at libcore.io.IoBridge.connect(IoBridge.java:122)
03-03 11:44:30.310 3548-3571/com.serjsmor.anotherbackend W/System.err? at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:183)
03-03 11:44:30.310 3548-3571/com.serjsmor.anotherbackend W/System.err? at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:456)
03-03 11:44:30.310 3548-3571/com.serjsmor.anotherbackend W/System.err? at java.net.Socket.connect(Socket.java:882)
03-03 11:44:30.310 3548-3571/com.serjsmor.anotherbackend W/System.err? at com.android.okhttp.internal.Platform.connectSocket(Platform.java:139)
03-03 11:44:30.310 3548-3571/com.serjsmor.anotherbackend W/System.err? at com.android.okhttp.Connection.connect(Connection.java:148)
03-03 11:44:30.310 3548-3571/com.serjsmor.anotherbackend W/System.err? at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:276)
03-03 11:44:30.310 3548-3571/com.serjsmor.anotherbackend W/System.err? at …
Run Code Online (Sandbox Code Playgroud) java google-app-engine android google-cloud-endpoints google-cloud-platform
在完成本教程之后,我已成功运行它localhost:8534/simpleprime/api/values/
*具有与tut相同的结果.
稍后将解决方案发布到远程云群集,我无法使用它www.clusterurl:8534/api/values
,每次都超时.即使我在部署期间从Visual Studio获得了令人放心的事件诊断.
我已经尝试了每个节点
http://node_ip:8543/simpleprime/api/values
,没有任何运气