From 1666b1d462ef7d6c1c8acf609bf7d9fc7405a23c Mon Sep 17 00:00:00 2001 From: wangjia <809946525@qq.com> Date: Tue, 30 Jun 2026 22:20:52 +0800 Subject: [PATCH] =?UTF-8?q?fix(client/android):=20libbox=20=E5=8C=85?= =?UTF-8?q?=E5=90=8D=20io.nekohasekai.libbox(=E5=8E=9F=20import=20libbox.*?= =?UTF-8?q?=20=E7=BC=96=E4=B8=8D=E8=BF=87)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit gomobile(sing-box build_libbox)产出的 AAR 包是 io.nekohasekai.libbox,而 Kotlin 一直 import libbox.*(含内联 libbox.NetworkInterface)→ 全模块 Unresolved。此前 Android 从未编 到这步(libbox.aar 缺失),故未暴露。改为 io.nekohasekai.libbox.* 后 APK 构建通过。 Co-Authored-By: Claude Opus 4.8 --- .../pangolin_vpn/DefaultNetworkMonitor.kt | 2 +- .../pangolin_vpn/PangolinVpnService.kt | 52 +++++++++---------- 2 files changed, 27 insertions(+), 27 deletions(-) diff --git a/client/android/app/src/main/kotlin/com/pangolin/pangolin_vpn/DefaultNetworkMonitor.kt b/client/android/app/src/main/kotlin/com/pangolin/pangolin_vpn/DefaultNetworkMonitor.kt index 032fc6c..acb67ea 100644 --- a/client/android/app/src/main/kotlin/com/pangolin/pangolin_vpn/DefaultNetworkMonitor.kt +++ b/client/android/app/src/main/kotlin/com/pangolin/pangolin_vpn/DefaultNetworkMonitor.kt @@ -7,7 +7,7 @@ import android.net.Network import android.net.NetworkCapabilities import android.net.NetworkRequest import android.util.Log -import libbox.InterfaceUpdateListener +import io.nekohasekai.libbox.InterfaceUpdateListener import java.net.NetworkInterface /** diff --git a/client/android/app/src/main/kotlin/com/pangolin/pangolin_vpn/PangolinVpnService.kt b/client/android/app/src/main/kotlin/com/pangolin/pangolin_vpn/PangolinVpnService.kt index 3d1f5f9..382c123 100644 --- a/client/android/app/src/main/kotlin/com/pangolin/pangolin_vpn/PangolinVpnService.kt +++ b/client/android/app/src/main/kotlin/com/pangolin/pangolin_vpn/PangolinVpnService.kt @@ -12,28 +12,28 @@ import android.os.ParcelFileDescriptor import android.system.OsConstants import android.util.Log import go.Seq -import libbox.CommandClient -import libbox.CommandClientHandler -import libbox.CommandClientOptions -import libbox.CommandServer -import libbox.CommandServerHandler -import libbox.ConnectionEvents -import libbox.ConnectionOwner -import libbox.InterfaceUpdateListener -import libbox.Libbox -import libbox.LocalDNSTransport -import libbox.LogIterator -import libbox.NetworkInterfaceIterator -import libbox.Notification as LibboxNotification -import libbox.OutboundGroupIterator -import libbox.OverrideOptions -import libbox.PlatformInterface -import libbox.SetupOptions -import libbox.StatusMessage -import libbox.StringIterator -import libbox.SystemProxyStatus -import libbox.TunOptions -import libbox.WIFIState +import io.nekohasekai.libbox.CommandClient +import io.nekohasekai.libbox.CommandClientHandler +import io.nekohasekai.libbox.CommandClientOptions +import io.nekohasekai.libbox.CommandServer +import io.nekohasekai.libbox.CommandServerHandler +import io.nekohasekai.libbox.ConnectionEvents +import io.nekohasekai.libbox.ConnectionOwner +import io.nekohasekai.libbox.InterfaceUpdateListener +import io.nekohasekai.libbox.Libbox +import io.nekohasekai.libbox.LocalDNSTransport +import io.nekohasekai.libbox.LogIterator +import io.nekohasekai.libbox.NetworkInterfaceIterator +import io.nekohasekai.libbox.Notification as LibboxNotification +import io.nekohasekai.libbox.OutboundGroupIterator +import io.nekohasekai.libbox.OverrideOptions +import io.nekohasekai.libbox.PlatformInterface +import io.nekohasekai.libbox.SetupOptions +import io.nekohasekai.libbox.StatusMessage +import io.nekohasekai.libbox.StringIterator +import io.nekohasekai.libbox.SystemProxyStatus +import io.nekohasekai.libbox.TunOptions +import io.nekohasekai.libbox.WIFIState import java.util.Collections import java.util.concurrent.atomic.AtomicBoolean @@ -514,10 +514,10 @@ class PangolinVpnService : VpnService(), PlatformInterface, CommandServerHandler } override fun getInterfaces(): NetworkInterfaceIterator { - val list = mutableListOf() + val list = mutableListOf() try { for (ni in Collections.list(java.net.NetworkInterface.getNetworkInterfaces())) { - val box = libbox.NetworkInterface() + val box = io.nekohasekai.libbox.NetworkInterface() box.name = ni.name box.index = ni.index runCatching { box.setMTU(ni.mtu) } @@ -596,10 +596,10 @@ class PangolinVpnService : VpnService(), PlatformInterface, CommandServerHandler } private class InterfaceArray( - private val it: Iterator + private val it: Iterator ) : NetworkInterfaceIterator { override fun hasNext(): Boolean = it.hasNext() - override fun next(): libbox.NetworkInterface = it.next() + override fun next(): io.nekohasekai.libbox.NetworkInterface = it.next() } // ── 通知 ─────────────────────────────────────────────────────