fix(client/android): libbox 包名 io.nekohasekai.libbox(原 import libbox.* 编不过)

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 <noreply@anthropic.com>
This commit is contained in:
wangjia
2026-06-30 22:20:52 +08:00
parent e994c44116
commit 1666b1d462
2 changed files with 27 additions and 27 deletions
@@ -7,7 +7,7 @@ import android.net.Network
import android.net.NetworkCapabilities import android.net.NetworkCapabilities
import android.net.NetworkRequest import android.net.NetworkRequest
import android.util.Log import android.util.Log
import libbox.InterfaceUpdateListener import io.nekohasekai.libbox.InterfaceUpdateListener
import java.net.NetworkInterface import java.net.NetworkInterface
/** /**
@@ -12,28 +12,28 @@ import android.os.ParcelFileDescriptor
import android.system.OsConstants import android.system.OsConstants
import android.util.Log import android.util.Log
import go.Seq import go.Seq
import libbox.CommandClient import io.nekohasekai.libbox.CommandClient
import libbox.CommandClientHandler import io.nekohasekai.libbox.CommandClientHandler
import libbox.CommandClientOptions import io.nekohasekai.libbox.CommandClientOptions
import libbox.CommandServer import io.nekohasekai.libbox.CommandServer
import libbox.CommandServerHandler import io.nekohasekai.libbox.CommandServerHandler
import libbox.ConnectionEvents import io.nekohasekai.libbox.ConnectionEvents
import libbox.ConnectionOwner import io.nekohasekai.libbox.ConnectionOwner
import libbox.InterfaceUpdateListener import io.nekohasekai.libbox.InterfaceUpdateListener
import libbox.Libbox import io.nekohasekai.libbox.Libbox
import libbox.LocalDNSTransport import io.nekohasekai.libbox.LocalDNSTransport
import libbox.LogIterator import io.nekohasekai.libbox.LogIterator
import libbox.NetworkInterfaceIterator import io.nekohasekai.libbox.NetworkInterfaceIterator
import libbox.Notification as LibboxNotification import io.nekohasekai.libbox.Notification as LibboxNotification
import libbox.OutboundGroupIterator import io.nekohasekai.libbox.OutboundGroupIterator
import libbox.OverrideOptions import io.nekohasekai.libbox.OverrideOptions
import libbox.PlatformInterface import io.nekohasekai.libbox.PlatformInterface
import libbox.SetupOptions import io.nekohasekai.libbox.SetupOptions
import libbox.StatusMessage import io.nekohasekai.libbox.StatusMessage
import libbox.StringIterator import io.nekohasekai.libbox.StringIterator
import libbox.SystemProxyStatus import io.nekohasekai.libbox.SystemProxyStatus
import libbox.TunOptions import io.nekohasekai.libbox.TunOptions
import libbox.WIFIState import io.nekohasekai.libbox.WIFIState
import java.util.Collections import java.util.Collections
import java.util.concurrent.atomic.AtomicBoolean import java.util.concurrent.atomic.AtomicBoolean
@@ -514,10 +514,10 @@ class PangolinVpnService : VpnService(), PlatformInterface, CommandServerHandler
} }
override fun getInterfaces(): NetworkInterfaceIterator { override fun getInterfaces(): NetworkInterfaceIterator {
val list = mutableListOf<libbox.NetworkInterface>() val list = mutableListOf<io.nekohasekai.libbox.NetworkInterface>()
try { try {
for (ni in Collections.list(java.net.NetworkInterface.getNetworkInterfaces())) { for (ni in Collections.list(java.net.NetworkInterface.getNetworkInterfaces())) {
val box = libbox.NetworkInterface() val box = io.nekohasekai.libbox.NetworkInterface()
box.name = ni.name box.name = ni.name
box.index = ni.index box.index = ni.index
runCatching { box.setMTU(ni.mtu) } runCatching { box.setMTU(ni.mtu) }
@@ -596,10 +596,10 @@ class PangolinVpnService : VpnService(), PlatformInterface, CommandServerHandler
} }
private class InterfaceArray( private class InterfaceArray(
private val it: Iterator<libbox.NetworkInterface> private val it: Iterator<io.nekohasekai.libbox.NetworkInterface>
) : NetworkInterfaceIterator { ) : NetworkInterfaceIterator {
override fun hasNext(): Boolean = it.hasNext() override fun hasNext(): Boolean = it.hasNext()
override fun next(): libbox.NetworkInterface = it.next() override fun next(): io.nekohasekai.libbox.NetworkInterface = it.next()
} }
// ── 通知 ───────────────────────────────────────────────────── // ── 通知 ─────────────────────────────────────────────────────