【问题标题】:android.net.VPNServicec is not an enclosing Classandroid.net.VPNServicec 不是封闭类
【发布时间】:2020-05-06 11:55:14
【问题描述】:

尝试按照android Docs实现VPN并面临这个问题

我当前的代码

public class MyVpnService extends Service {
@Nullable
@Override
public IBinder onBind(Intent intent) {
    return null;
}

@Override
public void onCreate(){
    super.onCreate();

    VpnService.Builder builder = new VpnService.Builder();
    ParcelFileDescriptor localTunnel = builder
            .addAddress("192.168.2.2", 24)
            .addRoute("0.0.0.0", 0)
            .addDnsServer("192.168.1.1")
            .establish();

    String[] appPackages = {
            "com.android.chrome",
            "com.google.android.youtube",
            "com.example.a.missing.app"};

    VpnService.Builder builder = new VpnService.Builder();
    PackageManager packageManager = getPackageManager();
    for (String appPackage: appPackages) {
        try {
            packageManager.getPackageInfo(appPackage, 0);
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                builder.addAllowedApplication(appPackage);
            }
        } catch (PackageManager.NameNotFoundException e) {
            // The app isn't installed.
        }
    }
    localTunnel = builder
            .addAddress("2001:db8::1", 64)
            .addRoute("::", 0)
            .establish();
    }
}

清单

<service android:name=".MyVpnService"
        android:permission="android.permission.BIND_VPN_SERVICE">
        <intent-filter>
            <action android:name="android.net.VpnService"/>
        </intent-filter>
        <meta-data android:name="android.net.VpnService.SUPPORTS_ALWAYS_ON"
            android:value="false"/>
</service>

下面有一条红线 VpnService.Builder builder = new VpnService.Builder();

错误读取

android.net.VpnService 不是封闭类

【问题讨论】:

    标签: java android xml service vpn


    【解决方案1】:

    这是因为 MyVpnService 扩展了 android.app.Service 而不是 android.net.VpnService,它必须这样做才能充当 VPN 服务。

    【讨论】:

    • i 将扩展服务替换为扩展 android.app.Service
    猜你喜欢
    • 2016-05-14
    • 1970-01-01
    • 2011-07-05
    • 2013-12-13
    • 2016-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-31
    相关资源
    最近更新 更多