解决方案 »
- android 使用外部数据库问题
- Android的post请求问题,急!!!!!!在线等
- 使用源码MediaFile.java判断一个文件是否是音频文件,需要lib "media_jni",去哪里找?
- CheckTextView中的多选图标覆盖了文本内容了,怎么办?
- Imageview的setRotate
- 同一widget多个布局问题
- DVI输出与LCD输出的切换实现。请教。
- android animation repeatcount 无效
- Cursor.close()后程序跳转的问题
- 在线等,如何把已有的cookie值添加到webview。
- Android Activity启动问题。。。。在线等。。。。
- 双卡机器调用拨号盘拨号时怎么控制用哪张卡拨号?
这下可以顺利启动了不知道这样做会不会有什么问题
我把测试的代码加到了安卓的工程里,运行后程序奔溃了,
logcat输出了下面的错误信息
10-12 06:49:23.284: I/System.out(664): =======================connect start!============================
10-12 06:49:23.384: I/System.out(664): 06:49:23.315 [main] INFO org.openscada.opc.lib.da.Server - Socket timeout: 0
10-12 06:49:23.634: I/System.out(664): 06:49:23.616 [main] WARN org.openscada.opc.lib.da.Server - Unknown error
10-12 06:49:23.634: I/System.out(664): java.lang.ExceptionInInitializerError: null
10-12 06:49:23.634: I/System.out(664): at org.openscada.opc.lib.da.Server.connect(Server.java:115) ~[na:0.0]
10-12 06:49:23.634: I/System.out(664): at com.lz.opc.OpcClientActivity.onClick(OpcClientActivity.java:62) ~[na:0.0]
10-12 06:49:23.634: I/System.out(664): at android.view.View.performClick(View.java:3511) ~[na:0.0]
10-12 06:49:23.634: I/System.out(664): at android.view.View$PerformClick.run(View.java:14105) ~[na:0.0]
10-12 06:49:23.634: I/System.out(664): at android.os.Handler.handleCallback(Handler.java:605) ~[na:0.0]
10-12 06:49:23.634: I/System.out(664): at android.os.Handler.dispatchMessage(Handler.java:92) ~[na:0.0]
10-12 06:49:23.634: I/System.out(664): at android.os.Looper.loop(Looper.java:137) ~[na:0.0]
10-12 06:49:23.634: I/System.out(664): at android.app.ActivityThread.main(ActivityThread.java:4424) ~[na:0.0]
10-12 06:49:23.661: I/System.out(664): at java.lang.reflect.Method.invokeNative(Native Method) ~[na:0.0]
10-12 06:49:23.661: I/System.out(664): at java.lang.reflect.Method.invoke(Method.java:511) ~[na:0.0]
10-12 06:49:23.661: I/System.out(664): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) ~[na:0.0]
10-12 06:49:23.664: I/System.out(664): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) ~[na:0.0]
10-12 06:49:23.664: I/System.out(664): at dalvik.system.NativeStart.main(Native Method) ~[na:0.0]
10-12 06:49:23.664: I/System.out(664): Caused by: android.os.NetworkOnMainThreadException: null
10-12 06:49:23.664: I/System.out(664): at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1099) ~[na:0.0]
10-12 06:49:23.664: I/System.out(664): at java.net.InetAddress.lookupHostByName(InetAddress.java:391) ~[na:0.0]
10-12 06:49:23.664: I/System.out(664): at java.net.InetAddress.getLocalHost(InetAddress.java:371) ~[na:0.0]
10-12 06:49:23.664: I/System.out(664): at org.jinterop.dcom.core.JISession.<clinit>(Unknown Source) ~[na:na]
10-12 06:49:23.664: I/System.out(664): ... 13 common frames omitted
10-12 06:49:23.664: I/System.out(664): 06:49:23.670 [main] INFO org.openscada.opc.lib.da.Server - Destroying DCOM session...
10-12 06:49:23.674: I/System.out(664): 06:49:23.675 [main] INFO org.openscada.opc.lib.da.Server - Destroying DCOM session... forked
10-12 06:49:23.674: I/System.out(664): 06:49:23.681 [OPCSessionDestructor] DEBUG org.openscada.opc.lib.da.Server - Starting destruction of DCOM session
10-12 06:49:23.693: I/System.out(664): 06:49:23.693 [OPCSessionDestructor] WARN org.openscada.opc.lib.da.Server - Failed to destruct DCOM session
10-12 06:49:23.693: I/System.out(664): java.lang.NoClassDefFoundError: org/jinterop/dcom/core/JISession
10-12 06:49:23.693: I/System.out(664): at org.openscada.opc.lib.da.Server$1.run(Server.java:171) ~[na:0.0]
10-12 06:49:23.693: I/System.out(664): at java.lang.Thread.run(Thread.java:856) ~[na:0.0]
10-12 06:49:23.714: I/System.out(664): 06:49:23.712 [OPCSessionDestructor] INFO org.openscada.opc.lib.da.Server - Session destruction took 23 ms唉。
刚刚我试了用改过的包替换原来java工程里的包,还是可以正常使用的,真不知道一到安卓下怎么就这么多问题前面贴的有点多了,下面是error
10-12 07:20:46.134: E/AndroidRuntime(684): FATAL EXCEPTION: main
10-12 07:20:46.134: E/AndroidRuntime(684): java.lang.RuntimeException: java.lang.ExceptionInInitializerError
10-12 07:20:46.134: E/AndroidRuntime(684): at org.openscada.opc.lib.da.Server.connect(Server.java:149)
10-12 07:20:46.134: E/AndroidRuntime(684): at com.lz.opc.OpcClientActivity.onClick(OpcClientActivity.java:62)
10-12 07:20:46.134: E/AndroidRuntime(684): at android.view.View.performClick(View.java:3511)
10-12 07:20:46.134: E/AndroidRuntime(684): at android.view.View$PerformClick.run(View.java:14105)
10-12 07:20:46.134: E/AndroidRuntime(684): at android.os.Handler.handleCallback(Handler.java:605)
10-12 07:20:46.134: E/AndroidRuntime(684): at android.os.Handler.dispatchMessage(Handler.java:92)
10-12 07:20:46.134: E/AndroidRuntime(684): at android.os.Looper.loop(Looper.java:137)
10-12 07:20:46.134: E/AndroidRuntime(684): at android.app.ActivityThread.main(ActivityThread.java:4424)
10-12 07:20:46.134: E/AndroidRuntime(684): at java.lang.reflect.Method.invokeNative(Native Method)
10-12 07:20:46.134: E/AndroidRuntime(684): at java.lang.reflect.Method.invoke(Method.java:511)
10-12 07:20:46.134: E/AndroidRuntime(684): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
10-12 07:20:46.134: E/AndroidRuntime(684): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
10-12 07:20:46.134: E/AndroidRuntime(684): at dalvik.system.NativeStart.main(Native Method)
10-12 07:20:46.134: E/AndroidRuntime(684): Caused by: java.lang.ExceptionInInitializerError
10-12 07:20:46.134: E/AndroidRuntime(684): at org.openscada.opc.lib.da.Server.connect(Server.java:115)
10-12 07:20:46.134: E/AndroidRuntime(684): ... 12 more
10-12 07:20:46.134: E/AndroidRuntime(684): Caused by: android.os.NetworkOnMainThreadException
10-12 07:20:46.134: E/AndroidRuntime(684): at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1099)
10-12 07:20:46.134: E/AndroidRuntime(684): at java.net.InetAddress.lookupHostByName(InetAddress.java:391)
10-12 07:20:46.134: E/AndroidRuntime(684): at java.net.InetAddress.getLocalHost(InetAddress.java:371)
10-12 07:20:46.134: E/AndroidRuntime(684): at org.jinterop.dcom.core.JISession.<clinit>(Unknown Source)
10-12 07:20:46.134: E/AndroidRuntime(684): ... 13 more麻烦你再给我分析下
在主线程调用了网络,你可以先使用if (android.os.Build.VERSION.SDK_INT > 9) {
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
}允许在主线程使用网络,但是不建议这么使用
可以私信请教吗?
我还是把输出贴下面好了
10-12 08:15:39.293: I/System.out(962): =======================connect start!============================
10-12 08:15:39.293: I/System.out(962): 08:15:39.294 [main] INFO org.openscada.opc.lib.da.Server - Socket timeout: 0
10-12 08:15:39.293: I/System.out(962): 08:15:39.299 [main] INFO org.jinterop.dcom.core.JISession - Created Session: 1649276871
10-12 08:15:39.303: I/System.out(962): 08:15:39.310 [main] DEBUG o.j.dcom.transport.JIComTransport - Opening socket on /202.38.214.45:135
10-12 08:15:39.354: I/System.out(962): 08:15:39.337 [main] INFO org.openscada.opc.lib.da.Server - Failed to connect to server
10-12 08:15:39.354: I/System.out(962): org.jinterop.dcom.common.JIException: An internal error occurred. [0x8001FFFF]
10-12 08:15:39.354: I/System.out(962): at org.jinterop.dcom.core.JIComServer.init(Unknown Source) ~[na:0.0]
10-12 08:15:39.354: I/System.out(962): at org.jinterop.dcom.core.JIComServer.initialise(Unknown Source) ~[na:0.0]
10-12 08:15:39.354: I/System.out(962): at org.jinterop.dcom.core.JIComServer.<init>(Unknown Source) ~[na:0.0]
10-12 08:15:39.354: I/System.out(962): at org.openscada.opc.lib.da.Server.connect(Server.java:117) ~[na:0.0]
10-12 08:15:39.354: I/System.out(962): at com.lz.opc.OpcClientActivity.onClick(OpcClientActivity.java:71) ~[na:0.0]
10-12 08:15:39.354: I/System.out(962): at android.view.View.performClick(View.java:3511) ~[na:0.0]
10-12 08:15:39.354: I/System.out(962): at android.view.View$PerformClick.run(View.java:14105) ~[na:0.0]
10-12 08:15:39.354: I/System.out(962): at android.os.Handler.handleCallback(Handler.java:605) ~[na:0.0]
10-12 08:15:39.354: I/System.out(962): at android.os.Handler.dispatchMessage(Handler.java:92) ~[na:0.0]
10-12 08:15:39.354: I/System.out(962): at android.os.Looper.loop(Looper.java:137) ~[na:0.0]
10-12 08:15:39.354: I/System.out(962): at android.app.ActivityThread.main(ActivityThread.java:4424) ~[na:0.0]
10-12 08:15:39.354: I/System.out(962): at java.lang.reflect.Method.invokeNative(Native Method) ~[na:0.0]
10-12 08:15:39.354: I/System.out(962): at java.lang.reflect.Method.invoke(Method.java:511) ~[na:0.0]
10-12 08:15:39.354: I/System.out(962): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) ~[na:0.0]
10-12 08:15:39.354: I/System.out(962): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) ~[na:0.0]
10-12 08:15:39.354: I/System.out(962): at dalvik.system.NativeStart.main(Native Method) ~[na:0.0]
10-12 08:15:39.354: I/System.out(962): Caused by: java.net.SocketException: socket failed: EACCES (Permission denied)
10-12 08:15:39.354: I/System.out(962): at libcore.io.IoBridge.socket(IoBridge.java:573) ~[na:0.0]
10-12 08:15:39.354: I/System.out(962): at java.nio.SocketChannelImpl.<init>(SocketChannelImpl.java:102) ~[na:0.0]
10-12 08:15:39.354: I/System.out(962): at java.nio.SocketChannelImpl.<init>(SocketChannelImpl.java:93) ~[na:0.0]
10-12 08:15:39.354: I/System.out(962): at java.nio.SelectorProviderImpl.openSocketChannel(SelectorProviderImpl.java:49) ~[na:0.0]
10-12 08:15:39.363: I/System.out(962): at java.nio.channels.SocketChannel.open(SocketChannel.java:81) ~[na:0.0]
10-12 08:15:39.363: I/System.out(962): at java.nio.channels.SocketChannel.open(SocketChannel.java:108) ~[na:0.0]
10-12 08:15:39.363: I/System.out(962): at org.jinterop.dcom.transport.JIComTransport.attach(Unknown Source) ~[na:0.0]
10-12 08:15:39.363: I/System.out(962): at rpc.Stub.attach(Unknown Source) ~[na:0.0]
10-12 08:15:39.363: I/System.out(962): ... 16 common frames omitted
10-12 08:15:39.363: I/System.out(962): Caused by: libcore.io.ErrnoException: socket failed: EACCES (Permission denied)
10-12 08:15:39.363: I/System.out(962): at libcore.io.Posix.socket(Native Method) ~[na:0.0]
10-12 08:15:39.363: I/System.out(962): at libcore.io.BlockGuardOs.socket(BlockGuardOs.java:181) ~[na:0.0]
10-12 08:15:39.363: I/System.out(962): at libcore.io.IoBridge.socket(IoBridge.java:558) ~[na:0.0]
10-12 08:15:39.363: I/System.out(962): ... 23 common frames omitted
10-12 08:15:39.363: I/System.out(962): 08:15:39.370 [main] INFO org.openscada.opc.lib.da.Server - Destroying DCOM session...
10-12 08:15:39.373: I/System.out(962): 08:15:39.375 [main] INFO org.openscada.opc.lib.da.Server - Destroying DCOM session... forked
10-12 08:15:39.373: I/System.out(962): 8001FFFF: Unknown error (8001FFFF)
10-12 08:15:39.394: I/System.out(962): 08:15:39.396 [OPCSessionDestructor] DEBUG org.openscada.opc.lib.da.Server - Starting destruction of DCOM session
10-12 08:15:39.394: I/System.out(962): 08:15:39.398 [OPCSessionDestructor] INFO org.jinterop.dcom.core.JISession - About to destroy 0 sessesion which are linked to this session: 1649276871
10-12 08:15:39.443: I/System.out(962): 08:15:39.445 [OPCSessionDestructor] INFO o.j.dcom.core.JIComOxidRuntime - destroySessionOIDs for session: 1649276871
10-12 08:15:39.443: I/System.out(962): 08:15:39.448 [OPCSessionDestructor] INFO org.openscada.opc.lib.da.Server - Destructed DCOM session
10-12 08:15:39.443: I/System.out(962): 08:15:39.451 [OPCSessionDestructor] INFO org.openscada.opc.lib.da.Server - Session destruction took 55 ms
10-12 08:17:55.377: I/System.out(962): 08:17:55.378 [Timer-1] INFO o.j.dcom.core.JIComOxidRuntime - Running ClientPingTimerTask !
10-12 08:21:55.377: I/System.out(962): 08:21:55.377 [Timer-1] INFO o.j.dcom.core.JIComOxidRuntime - Running ClientPingTimerTask !
10-12 08:21:55.384: I/System.out(962): 08:21:55.382 [Timer-2] INFO o.j.dcom.core.JIComOxidRuntime - Running ServerPingTimerTask !
10-12 08:25:55.377: I/System.out(962): 08:25:55.377 [Timer-1] INFO o.j.dcom.core.JIComOxidRuntime - Running ClientPingTimerTask !
10-12 08:29:55.383: I/System.out(962): 08:29:55.377 [Timer-2] INFO o.j.dcom.core.JIComOxidRuntime - Running ServerPingTimerTask !
10-12 08:29:55.383: I/System.out(962): 08:29:55.380 [Timer-1] INFO o.j.dcom.core.JIComOxidRuntime - Running ClientPingTimerTask !这跟安卓本身有关吗? 因为java工程运行到划线部分后,是可以发起socket通信的
10-12 10:41:26.283: E/AndroidRuntime(594): FATAL EXCEPTION: main
10-12 10:41:26.283: E/AndroidRuntime(594): java.lang.RuntimeException: java.lang.IllegalStateException: Cp850
10-12 10:41:26.283: E/AndroidRuntime(594): at org.openscada.opc.lib.da.Server.connect(Server.java:149)
10-12 10:41:26.283: E/AndroidRuntime(594): at com.lz.opc.OpcClientActivity.onClick(OpcClientActivity.java:71)
10-12 10:41:26.283: E/AndroidRuntime(594): at android.view.View.performClick(View.java:3511)
10-12 10:41:26.283: E/AndroidRuntime(594): at android.view.View$PerformClick.run(View.java:14105)
10-12 10:41:26.283: E/AndroidRuntime(594): at android.os.Handler.handleCallback(Handler.java:605)
10-12 10:41:26.283: E/AndroidRuntime(594): at android.os.Handler.dispatchMessage(Handler.java:92)
10-12 10:41:26.283: E/AndroidRuntime(594): at android.os.Looper.loop(Looper.java:137)
10-12 10:41:26.283: E/AndroidRuntime(594): at android.app.ActivityThread.main(ActivityThread.java:4424)
10-12 10:41:26.283: E/AndroidRuntime(594): at java.lang.reflect.Method.invokeNative(Native Method)
10-12 10:41:26.283: E/AndroidRuntime(594): at java.lang.reflect.Method.invoke(Method.java:511)
10-12 10:41:26.283: E/AndroidRuntime(594): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
10-12 10:41:26.283: E/AndroidRuntime(594): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
10-12 10:41:26.283: E/AndroidRuntime(594): at dalvik.system.NativeStart.main(Native Method)
10-12 10:41:26.283: E/AndroidRuntime(594): Caused by: java.lang.IllegalStateException: Cp850
10-12 10:41:26.283: E/AndroidRuntime(594): at jcifs.ntlmssp.Type1Message.toByteArray(Unknown Source)
10-12 10:41:26.283: E/AndroidRuntime(594): at rpc.security.ntlm.NtlmConnection.outgoingRebind(Unknown Source)
10-12 10:41:26.283: E/AndroidRuntime(594): at rpc.DefaultConnection.processOutgoing(Unknown Source)
10-12 10:41:26.283: E/AndroidRuntime(594): at rpc.DefaultConnection.transmitFragment(Unknown Source)
10-12 10:41:26.283: E/AndroidRuntime(594): at rpc.DefaultConnection.transmit(Unknown Source)
10-12 10:41:26.283: E/AndroidRuntime(594): at rpc.ConnectionOrientedEndpoint.send(Unknown Source)
10-12 10:41:26.283: E/AndroidRuntime(594): at rpc.ConnectionOrientedEndpoint.connect(Unknown Source)
10-12 10:41:26.283: E/AndroidRuntime(594): at rpc.ConnectionOrientedEndpoint.bind(Unknown Source)
10-12 10:41:26.283: E/AndroidRuntime(594): at rpc.ConnectionOrientedEndpoint.rebind(Unknown Source)
10-12 10:41:26.283: E/AndroidRuntime(594): at org.jinterop.dcom.transport.JIComEndpoint.rebindEndPoint(Unknown Source)
10-12 10:41:26.283: E/AndroidRuntime(594): at org.jinterop.dcom.core.JIComServer.init(Unknown Source)
10-12 10:41:26.283: E/AndroidRuntime(594): at org.jinterop.dcom.core.JIComServer.initialise(Unknown Source)
10-12 10:41:26.283: E/AndroidRuntime(594): at org.jinterop.dcom.core.JIComServer.<init>(Unknown Source)
10-12 10:41:26.283: E/AndroidRuntime(594): at org.openscada.opc.lib.da.Server.connect(Server.java:117)
10-12 10:41:26.283: E/AndroidRuntime(594): ... 12 more
{
logger.warn ( "Unknown error", e );
cleanup ();
throw new RuntimeException ( e );
}149行就是划线部分另外logcat前面有些输出,你看看是不是出错的原因10-13 01:33:12.872: I/System.out(696): 01:33:12.873 [main] DEBUG o.j.dcom.transport.JIComTransport - Opening socket on /202.38.214.45:135
10-13 01:33:12.892: I/org.jinterop(696): Sending BIND
10-13 01:33:12.902: I/System.out(696): 01:33:12.908 [main] DEBUG o.j.dcom.transport.JIComTransport - Socket closed... Socket[unconnected] host 202.38.214.45, port 135
10-13 01:33:12.912: I/dalvikvm(696): Could not find method sun.reflect.Reflection.getCallerClass, referenced from method ch.qos.logback.classic.spi.PackagingDataCalculator.<clinit>
10-13 01:33:12.912: W/dalvikvm(696): VFY: unable to resolve static method 9335: Lsun/reflect/Reflection;.getCallerClass (I)Ljava/lang/Class;
10-13 01:33:12.912: D/dalvikvm(696): VFY: replacing opcode 0x71 at 0x0008
10-13 01:33:12.922: I/dalvikvm(696): Could not find method sun.reflect.Reflection.getCallerClass, referenced from method ch.qos.logback.classic.spi.PackagingDataCalculator.populateFrames
10-13 01:33:12.922: W/dalvikvm(696): VFY: unable to resolve static method 9335: Lsun/reflect/Reflection;.getCallerClass (I)Ljava/lang/Class;
10-13 01:33:12.922: D/dalvikvm(696): VFY: replacing opcode 0x71 at 0x0025
10-13 01:33:12.952: I/System.out(696): 01:33:12.939 [main] WARN org.openscada.opc.lib.da.Server - Unknown error