Esto tiene que ver con el lenguaje en sí.
La clase "VpnService" tiene una clase interna, no static, llamada "Builder". El hecho de que esta clase interna no sea static impide que la misma pueda ser intanciada de la manera en la que intentas hacerlo.
Existen dos formas de instanciar la clase "Builder", y las dos requieren de una instancia de VpnService o una instancia de una clase que la extienda.
1) Crear una clase que extienda "VpnService" e intanciar "Builder" dentro de la misma:
import android.net.VpnService;
public class MyVpnService extends VpnService {
...
public Builder getBuilder() {
Builder builder = new Builder();
// or VpnService.Builder builder = new VpnService.Builder();
...
}
...
}
2) Usar una instancia ya creada de "VpnService" y a partir de la misma crear una instancia de "Builder":
import android.net.VpnService;
public class Config {
...
public VpnService.Builder getBuilderOfVpnService(VpnService service) {
VpnService.Builder builder = service.new Builder();
}
...
}
Ahora me translado al entorno de la aplicación Android en si. Para poder usar VpnService es obligatorio crear una clase que la extienda (como lo hice en el primer ejemplo), esta clase sera el servicio que tienes que poner a funcionar. La documentatión misma lo dice:
To add a VPN service to your app, create an Android service inheriting from VpnService.
puedes observar la app de ejemplo de google para orientarte un poco:
https://android.googlesource.com/platform/development/+/master/samples/ToyVpnEspero que esto pueda servirte.
Saludos