"Permission denied (maybe missing INTERNET permission)" This is very clear: open AndroidManifest.xml and add that use- permission.
On Dec 4, 5:47 pm, 상상, 그 이상의 상상 <[email protected]> wrote: > Title: How can I use org.apache.harmony.luni.platform.OSNewtorkSystem > in Android SDK ? > > I'm working with Android SDK 1.5. And I'm programming a application > running on Android Emulator. > > This application used a library for communication using TCP/IP. > > In debug mode, when create a instance of > org.apache.harmony.nio.internal.PipeImpl class a message that is > "Permission denied (maybe missing INTERNET permission)" is thrown. > > ---------------------------------------------------------------- > public PipeImpl() throws IOException { > super(); > try { > sink = new SinkChannelImpl(SelectorProvider.provider > ()); <<------------ Here !!!!! > source = new SourceChannelImpl(SelectorProvider.provider > ()); > sink.finishConnect(); > source.accept(); > source.closeServer(); > } catch(IOException ioe){ > reset(); > throw ioe; > } catch(RuntimeException e){ > reset(); > throw e; > } > } > ---------------------------------------------------------------- > > As a result, source that is a field of > org.apache.harmony.nio.interjal.SelectorImpl and which type is > Pipe.SourceChannel is null. Because in a constructor of SelectotrImpl, > Pipe returns null and null is set to source. > ---------------------------------------------------------------- > public SelectorImpl(SelectorProvider selectorProvider) { > super(selectorProvider); > try { > Pipe mockSelector = selectorProvider.openPipe(); > sink = mockSelector.sink(); > source = mockSelector.source(); > <<--------------------------------- Here !!!!!!!!!!!!! > sourcefd = ((FileDescriptorHandler)source).getFD(); > source.configureBlocking(false); > } catch (IOException e) { > // do nothing > } > } > ---------------------------------------------------------------- > > Finally, in SelectorImpl.prepareChannels(), NullPointerException is > thrown. > ---------------------------------------------------------------- > private void prepareChannels() { > readableFDs.add(sourcefd); > List<SelectionKey> readChannelList = new > ArrayList<SelectionKey>(); > readChannelList.add(source.keyFor(this)); > <<-------------------------------- Here !!!!!!!!!! > List<SelectionKey> writeChannelList = new > ArrayList<SelectionKey>(); > synchronized (keysLock) { > for (Iterator<SelectionKey> i = keys.iterator(); i.hasNext > ();) { > SelectionKeyImpl key = (SelectionKeyImpl) i.next(); > key.oldInterestOps = key.interestOps(); > boolean isReadableChannel = ((SelectionKey.OP_ACCEPT | > SelectionKey.OP_READ) & key.oldInterestOps) != 0; > boolean isWritableChannel = ((SelectionKey.OP_CONNECT > | SelectionKey.OP_WRITE) & key.oldInterestOps) != 0; > SelectableChannel channel = key.channel > (); > if (isReadableChannel) { > readChannelList.add(channel.keyFor(this)); > readableFDs.add(((FileDescriptorHandler) > channel).getFD()); > } > if (isWritableChannel) { > writeChannelList.add(channel.keyFor(this)); > writableFDs.add(((FileDescriptorHandler) > channel).getFD()); > } > } > } > readableChannels = readChannelList.toArray(new SelectionKey > [0]); > writableChannels = writeChannelList.toArray(new SelectionKey > [0]); > readable = readableFDs.toArray(new FileDescriptor[0]); > writable = writableFDs.toArray(new FileDescriptor[0]); > } > ---------------------------------------------------------------- > > Please, Help me!!!! > > I really really thank you for your advance!!!! -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

