java.net.SocketException: Permission denied

本文详细介绍了在Android项目开发中遇到的java.net.SocketException: Permission denied异常的原因及解决方案。通过在AndroidManifest.xml中添加<uses-permission android:name=android.permission.INTERNET/>配置,可以有效解决该问题。

在Android项目开发时,在获取IP地址时出现java.net.SocketException: Permission denied异常,这是一个典型的异常。

解决方法:

在AndroidManifest.xml

配置:

<uses-permission android:name="android.permission.INTERNET" />

如:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.getmobileip"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="15" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/title_activity_main" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
                
            </intent-filter>
        </activity>
        
    </application>
<uses-permission android:name="android.permission.INTERNET" />
</manifest>

Internal error java.net.SocketException: Permission denied: bind at java.base/sun.nio.ch.UnixDomainSockets.bind0(Native Method) at java.base/sun.nio.ch.UnixDomainSockets.bind(UnixDomainSockets.java:129) at java.base/sun.nio.ch.ServerSocketChannelImpl.unixBind(ServerSocketChannelImpl.java:326) at java.base/sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:299) at java.base/java.nio.channels.ServerSocketChannel.bind(ServerSocketChannel.java:224) at com.intellij.platform.ide.bootstrap.DirectoryLock.tryListen(DirectoryLock.java:273) at com.intellij.platform.ide.bootstrap.DirectoryLock.lockOrActivate(DirectoryLock.java:214) at com.intellij.platform.ide.bootstrap.StartupUtil.lockSystemDirs(startup.kt:492) at com.intellij.platform.ide.bootstrap.StartupUtil.access$lockSystemDirs(startup.kt:1) at com.intellij.platform.ide.bootstrap.StartupUtil$startApplication$lockSystemDirsJob$1$1.invokeSuspend(startup.kt:112) at com.intellij.platform.ide.bootstrap.StartupUtil$startApplication$lockSystemDirsJob$1$1.invoke(startup.kt) at com.intellij.platform.ide.bootstrap.StartupUtil$startApplication$lockSystemDirsJob$1$1.invoke(startup.kt) at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:44) at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:166) at kotlinx.coroutines.BuildersKt.withContext(Unknown Source) at com.intellij.platform.diagnostic.telemetry.impl.TracerKt.span(tracer.kt:56) at com.intellij.platform.diagnostic.telemetry.impl.TracerKt.span$default(tracer.kt:48) at com.intellij.platform.ide.bootstrap.StartupUtil$startApplication$lockSystemDirsJob$1.invokeSuspend(startup.kt:111) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100) at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:613) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:1189) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:778) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:765) Suppressed: java.net.SocketException: Permission denied: bind at java.base/sun.nio.ch.UnixDomainSockets.bind0(Native Method) at java.base/sun.nio.ch.UnixDomainSockets.bind(UnixDomainSockets.java:129) at java.base/sun.nio.ch.ServerSocketChannelImpl.unixBind(ServerSocketChannelImpl.java:326) at java.base/sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:299) at java.base/java.nio.channels.ServerSocketChannel.bind(ServerSocketChannel.java:224) at com.intellij.platform.ide.bootstrap.DirectoryLock.tryListen(DirectoryLock.java:273) at com.intellij.platform.ide.bootstrap.DirectoryLock.lockOrActivate(DirectoryLock.java:163) ... 17 more Suppressed: java.net.ConnectException: Connection refused: connect at java.base/sun.nio.ch.UnixDomainSockets.connect0(Native Method) at java.base/sun.nio.ch.UnixDomainSockets.connect(UnixDomainSockets.java:166) at java.base/sun.nio.ch.UnixDomainSockets.connect(UnixDomainSockets.java:162) at java.base/sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:878) at com.intellij.platform.ide.bootstrap.DirectoryLock.tryConnect(DirectoryLock.java:315) at com.intellij.platform.ide.bootstrap.DirectoryLock.lockOrActivate(DirectoryLock.java:171) ... 17 more Suppressed: java.nio.file.NoSuchFileException: C:\Users\lenovo\AppData\Roaming\JetBrains\IdeaIC2025.2\.lock at java.base/sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:87) at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:106) at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:112) at java.base/sun.nio.fs.WindowsFileSystemProvider.newByteChannel(WindowsFileSystemProvider.java:234) at com.intellij.platform.core.nio.fs.DelegatingFileSystemProvider.newByteChannel(DelegatingFileSystemProvider.java:145) at java.base/java.nio.file.Files.newByteChannel(Files.java:380) at java.base/java.nio.file.Files.newByteChannel(Files.java:432) at java.base/java.nio.file.Files.readAllBytes(Files.java:3281) at java.base/java.nio.file.Files.readString(Files.java:3359) at java.base/java.nio.file.Files.readString(Files.java:3318) at com.intellij.platform.ide.bootstrap.DirectoryLock.remotePID(DirectoryLock.java:408) at com.intellij.platform.ide.bootstrap.DirectoryLock.lockOrActivate(DirectoryLock.java:179) ... 17 more ----- JRE: 21.0.9+1-b1038.76 amd64 (JetBrains s.r.o.) D:\RUANJIAN\IntelliJ IDEA Community Edition 2025.2.5\jbr
最新发布
12-06
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值