如何扩展 VpnService 以在 Android 中以编程方式打开 L2TP/IPSEC 连接?

2023-12-08

我正在寻求实施一个解决方案来打开一个L2TP/IPSEC来自android应用程序的连接,所以我可以简单地传递server ip, pre-shared key, username and password因此设备已连接到此 VPN 服务器

我看了这里https://developer.android.com/reference/android/net/VpnService.html我们需要扩展和构建我们自己的 VPN 解决方案才能做到这一点。

有没有可用的解决方案,以便我们可以使用它而不是重新发明轮子?

我尝试了以下实现VpnService但他们都不适合我

  • https://android.googlesource.com/platform/development/+/master/samples/ToyVpn/src/com/example/android/toyvpn
  • https://pomgit.com/limeysoft/L2TP-VPN/tree/master/app

并尝试了这个

  • https://alvinalexander.com/java/jwarehouse/android/vpn/java/android/net/vpn/

并得到以下错误

mtpd:启动 VPN 守护进程:mtpd W/libc:将属性“ctl.start”设置为 “中期计划” 无法将属性“ctl.start”设置为“mtpd”:连接失败; errno=13(权限被拒绝)E/SysPropJNI: SystemProperties_set 键:ctl.start,val:mtpd W/System.err: java.io.IOException:无法启动服务:mtpd W/System.err:位于 com.mega.speed.vpn.DaemonProxy.start(DaemonProxy.java:58) W/System.err:位于 com.mega.speed.vpn.VpnDaemons.startDaemon(VpnDaemons.java:92) 在 com.mega.speed.vpn.VpnDaemons.startMtpd(VpnDaemons.java:113) 在 com.mega.speed.vpn.VpnDaemons.startL2tp(VpnDaemons.java:36) W/System.err:位于 com.mega.speed.vpn.L2tpService.connect(L2tpService.java:16) 在 com.mega.speed.fragments.HotspotFragment.onCreateView(HotspotFragment.java:125) W/System.err:位于 android.support.v4.app.Fragment.performCreateView(Fragment.java:2439) 在 android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1460) W/System.err:位于 android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1784) 在 android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1852) W/System.err:位于 android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:802) 在 android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2625) W/System.err:位于 android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2411) 在 android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2366) W/System.err:位于 android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2273) 在 android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:733) 在 android.os.Handler.handleCallback(Handler.java:808) W/System.err:
在 android.os.Handler.dispatchMessage(Handler.java:101) 在 android.os.Looper.loop(Looper.java:166) W/System.err: 在 android.app.ActivityThread.main(ActivityThread.java:7529) W/System.err:位于 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:245) W/System.err:位于 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:921)


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何扩展 VpnService 以在 Android 中以编程方式打开 L2TP/IPSEC 连接? 的相关文章

  • 混合应用程序开发(PhoneGap、Cordova、Ionic)

    我试图了解一切是如何运作的 但对此主题有一些疑问 我将解释我如何理解这些东西 首先让我们从Cordova这是翻译平台JS CSS HTML文件到本机应用程序中 但这并不完全是事实 实际上 它只是将所有 html css 文件放入 asset
  • 如何在 Android 中从服务器检索数据时更新滚动的 ListView?

    目前 我正在使用 AsyncTask 来处理 Http 连接并以 JSON 格式检索数据 加载所有数据很简单 但会消耗太多时间 因此我决定使用一次加载 10 个项目LIMIT OFFSET mysql 接下来我设置事件onScroll为我的
  • 使用三元运算符“不执行任何操作”[重复]

    这个问题在这里已经有答案了 我想像这样使用三元运算符 仅检查true声明的一部分 foo bar Do nothing 是否可以排除该语句的 else 部分的逻辑 我尝试使用return 但编译器给出了错误 基本上我想要实现的是使用三元运算
  • Android Wear 应用程序无法通过手机安装

    我正在尝试使用找到的 Package with Android Studio method 通过 Android 手机安装可穿戴应用程序here http developer android com training wearables a
  • 改造如何打印响应 JSON

    我正在使用 Retrofit 并且想要访问从服务器返回的 JSON 响应 有人可以告诉我吗 谢谢 如果您只想查看出于调试目的的响应 只需在改造中打开调试并查看日志即可 它是这样的 restAdapter setDebuggingEnable
  • 为什么无法将 INT 保存到 SharedPreferences 中?

    我有一个奇怪的问题 我以前从未有过 当我尝试将 int 值保存到我的 SharedPreference 中 然后在其他 Activity 中恢复时 即使我保存其他值 例如 1 值也始终为 0 private String Number pr
  • 搜索栏小部件未启动可搜索活动

    我正在尝试使用操作栏中的搜索栏小部件在我的 Android 应用程序上实现搜索 我正在关注 http developer android com guide topics search search dialog html http dev
  • 我应该在 Android 1.x 和 2.x 应用程序中部署什么样的图标?

    事情是这样的 在 Android 1 5 和 1 6 中我们有图标设计指南 http developer android com guide practices ui guidelines icon design html 本指南中有应用程
  • Android 中如何获取帧

    实际上 我需要从视频中获取所有帧 但在使用 Mediametadataretriever 缩略图 时间戳获取帧时 我经常重复获取第一帧 然后获取特定时间帧 我通过更改所有 GetFrameAtTime options 尝试了很多修复 但仍然
  • Android 开发应用程序密钥和应用程序秘密

    我正在尝试使用带氦气选项的城市飞艇为 Android 应用程序设置推送通知 但是 我需要为我的应用程序找到这些信息 但我不知道从哪里可以找到 任何意见或建议将不胜感激 谢谢你 For setting up Helium make sure
  • 如何在 AsyncTask 的 postExecute 方法中获取 Map 的结果?

    如何在AsyncTask的postExecute方法中获取Map的结果 我无法在结果中获取结果 Override protected void onPostExecute Map
  • 迁移到 AndroidX 后 Google 登录无法正常工作

    我已将 Google Sign 集成到我的 Android 应用程序中 当我使用 spp Compact v28 库时它工作得很好 但在将我的应用程序迁移到 androidx 后失败 但出现以下异常 java lang Incompatib
  • 通过使用 Intents 使用预装的 Google 地图而不是自己的 Activity?

    我只是想知道是否可以将地理坐标传递给谷歌地图应用程序之二意图或类似的东西 我自己编写了一个用于显示路线 坐标等的应用程序 但是让谷歌地图本身显示这些不是更优雅吗 我不知道这是否可能 但也许你们中的一个人可以回答这个问题 如果这是可能的 是否
  • 如何以编程方式在 Genymotion 上刷新 zip

    我正在尝试将谷歌应用程序刷新到 genymotion 模拟器中 我可以使用拖放功能来完成此操作 但我的项目需要 google apps zip 已加载到 genymotion 机器中并且在内部闪烁 以避免与桌面交互 我检查过类似的问题thi
  • AndroidJUnit4 测试未找到

    我像这样注释了我的课程 RunWith AndroidJUnit4 class public class WorkdayProviderTest 此外 还注释了我的测试方法 如下所示 Test public void insert data
  • 在Fragment中第一次调用时SharedPreferences为空

    我有一个示例 Android 应用程序 根据位置 邮政编码 和设置 SharedPreference 中设置的温度单位 该应用程序显示 7 天的天气 当应用程序第一次获取温度并检查 SharedPreference 中设置的温度单位时 它似
  • Android ListView,如果arrayAdapter的arrayList为空则显示消息

    我需要帮助 我有一个 Listview setListAdapter arrayAdapter 和数组适配器有一个 arrayList If my arrayList is empty it shows loading images it
  • Android,java - 无法从 asynctask 更新变量

    这是代码 声明的变量 public String gpu2dcurent 1234567 Asynctask 完成后应该更新变量 gpu2dcurent 但它没有 private class readgpu2d extends AsyncT
  • 谷歌放置片段上的Java空指针异常

    当我尝试尝试自动完成位置功能时 出现空指针异常 我像文档中一样添加了片段 并需要帮助来解决这个问题 谢谢 主要活动 package com example srinivas mapautocompletetest1 import andro
  • Android:单击分组通知会重新启动应用程序

    我正在尝试解决我在通知方面遇到的问题 在我的应用程序中 当有人单击列表项下载文件时 我将创建一个通知 带有不确定的进度和随机生成的整数代码 在下载回调中 我使用原始通知的相同 ID 更新通知以停止进度 单击通知应该打开手机上的下载文件夹 使

随机推荐

  • 从两列映射中对多对多关系进行分组

    我有一个 SQL 表 可以映射作者和书籍等内容 我想将链接的作者和书籍 同一作者撰写的书籍以及共同撰写一本书的作者 分组在一起 并确定这些组的规模有多大 例如 如果 J K 罗琳与朱诺 迪亚兹合写 朱诺 迪亚兹与扎迪 史密斯合写了一本书 那
  • 单击 UIWebView 上的链接时打开新的 UIViewController

    我发现这个线程符合我的问题 单击 UIWebView 中的链接会推送到 NavigationView 堆栈 但以下情况有所不同 我没有使用导航控制器 而是使用基于视图的应用程序在按下相应按钮时手动切换到不同的视图控制器 我没有使用链接 而是
  • Excel VBA:形状集合中的索引 = ZOrderPosition?

    工作表的 Shapes 集合中形状的索引是否始终与其 ZOrderPosition 相同 原则上不能直接查询给定形状的索引 我已经在少数情况下 最多 3000 个形状 验证了这一点 但我没有找到任何相关文档 我遍历了整个集合 询问 Inde
  • 无法解析 Spring 属性占位符

    我有我的配置
  • 将一个正则表达式匹配替换为另一个正则表达式匹配,反之亦然

    我需要替换为字符串foo bar foo bar bar foo all foo to bar和所有bar to foo 所以结果应该是这样的bar foo bar foo foo bar 我已经尝试过这种方式 library string
  • 如何使用 EF Core 2.2 将 JSON_VALUE 转换为 DateTime?

    我正在测绘JSON VALUE使用来自的技术如何编写DbFunction的翻译 由于 JSON 中并非所有值都是字符串 因此有时需要进行转换 当转换为int 一切安好 var results context Set
  • JasperReports:如何屏蔽或过滤图表轴上的标签

    我正在使用基于简单数据集的简单面积图 如下所示 DateTime sql timestamp Value Integer 2012 02 17 00 02 02 100 2012 02 17 00 02 08 110 2012 02 17
  • `margin:auto;` 不适用于内联块元素

    我有一个 容器 div我给了margin auto 只要我给它一个特定的 它就工作得很好width 但现在我把它改为inline block and margin auto 停止工作 旧代码 有效 container border 1px
  • Java 非最终 int(s) 构造后可见

    我有一个带有非最终 int 变量的 java 类 我在构造函数中将其显式初始化为 0 对该变量的所有其他访问均由 ReentrantLock 管理 我是否需要担心线程不会看到初始值 0 因为我没有在构造函数中使用锁 是的 你必须担心 为了避
  • 如何通过命令提示符获取硬件 ID/序列号?

    最终我将在 Java Applet 中使用它来为用户提供额外的安全性 我知道这是可能的 因为我记得以前做过 只是不记得获取正确信息的行 我正在寻找将返回处理器 ID 序列号的行 只要这两个就好了 我使用过谷歌并尝试了一些命令 例如 wmic
  • SQL Server 2005 中使用 XML 的层次结构

    我想知道是否有办法在 SQL Server 2005 中选择层次结构并返回 xml 格式 我有一个包含大量数据的数据库 大约 2000 到 3000 条记录 我现在使用 SQL Server 2005 中的一个函数来检索层次结构中的数据并返
  • C#中如何获取IP地址?

    假设一台计算机连接到许多网络 实际上不止一个 我可以获得一个IP地址列表 其中包括计算机在网络中拥有的所有IP地址 但是我如何知道某个IP地址属于哪个网络呢 首先 您需要了解一些术语 这些示例数字假定 IPv4 网络 IP地址 192 16
  • 如何为 Json.net 生成 json 对象的所有可能的 LINQ 字符串?

    在 json net 中 我们可以使用基于 linq to json 的本教程 我想知道有没有办法生成字符串查询 考虑这个 json 示例 Name Test Status S1 S2 S3 S4 People Name A Family
  • 使用facet_wrap向ggplot添加图例

    我在用小面包裹显示两个变量 a and b 四个城市 我可以根据城市对图进行分组 但无法显示变量的图例 即a and b using scale color discrete ggplot geom line data df aes x y
  • Angular 7 - 重新加载数据表中的数据

    我正在使用 Angular 7 和 Angular Datatables 我正在尝试定义一个 重新渲染 按钮以重新加载数据就像这个例子一样 我不明白应该在渲染函数中放置什么 我的API函数 fn getFavoriteTables this
  • SQL Server 查询日期范围内一个月的总天数

    我有特定的日期范围 例如 From Date To Date 2012 11 10 2012 11 15 2012 11 21 2012 11 22 2012 11 30 2012 12 01 我想编写一个 SQL 查询来计算两个日期之间的
  • KML / Google 地图 - 指定 iFrame 中嵌入地图的缩放级别

    我在 Google 地图中加载了以下 kml 文件 它正确定位了指针 但它始终以最大级别缩放 使用谷歌地图 API 我可以设置自己的缩放级别 但我尝试使用 iFrame 中的嵌入式地图 由谷歌提供 来执行此操作 有没有办法在 kml 本身中
  • 使用 objectify 进行过滤和排序的 GAE 数据存储查询

    我正在尝试在数据存储中查询过去一周 日期字段 登录的得分最高的 100 位用户 List
  • URL 是否允许包含空格?

    URI 特别是 HTTP URL 是否允许包含一个或多个空格字符 如果一个网址must被编码 是 只是一个普遍遵循的惯例 还是一个合法的替代方案 特别是 有人可以指出一个 RFC 来指示带有空格的 URLmust被编码 提问动机 在对网站进
  • 如何扩展 VpnService 以在 Android 中以编程方式打开 L2TP/IPSEC 连接?

    我正在寻求实施一个解决方案来打开一个L2TP IPSEC来自android应用程序的连接 所以我可以简单地传递server ip pre shared key username and password因此设备已连接到此 VPN 服务器 我