你好,我在我的应用程序中使用这个项目:https://github.com/schwabe/ics-openvpn和写一个vpn应用程序它的工作在所有Android版本的罚款,因为在Android 10我给予这个错误logcat:
2020-04-01 01:47:56.914 2540-2839/com.vpnfree.approid I/OpenVPN: Starting openvpn
2020-04-01 01:47:56.920 2540-2839/com.vpnfree.approid E/OpenVPN: OpenVPNThread Got java.lang.NullPointerException: Attempt to invoke virtual method 'void java.lang.Process.destroy()' on a null object reference
2020-04-01 01:47:56.920 2540-2839/com.packagename.approid E/level: LEVEL_NOTCONNECTED
2020-04-01 01:47:56.959 2540-2839/com.packagename.approid I/OpenVPN: Exiting
字符串
4条答案
按热度按时间gywdnpxw1#
它不起作用是因为当你调用
destroy()
时,你是在一个null对象上调用它。这是抛出一个NPE可以阻止您连接。5vf7fwbs2#
这个空指针异常可能是进程构建器通过从android不支持的assets加载二进制文件来启动新进程的结果。
您可以在OpenVPNThread.java中的方法
private void startOpenVPNThreadArgs(String[] argv)
的line 187 - line 188附近的**catch
**子句中使用e.printStackTrace();
来确认这种情况。如果你在你的log cat中得到错误13,像这样:
字符串
那么你可能正在使用旧版本的ics-openvpn。在这种情况下,请参考:
我希望这将解决您的问题。
5gfr0r5j3#
字符串
在清单应用程序中添加这两行
qnakjoqk4#
只需在项目的gradle.properties文件android.bundle.enableUncompressedNativeLibs=false .aab文件处理.so文件的方式略有不同,这就是VPN在.aab捆绑包版本中无法工作的原因。