经过几天钻研奋战,终于搞定OpenVPN不能在Android5.0运行的问题。解决方法和发现问题如下:
1. 用NDK重新编译最新ics-openvpn源码(翻墙下载或去github下载)
2. 把编译生成libs/armeabi-v7a下的libopenvpn.so、libopvpnutil.so替换程序libs包下相应文件
3. 把编译生成libs/armeabi-v7a下的pievpn重命名为minivpn.armeabi-v7a替换程序assets包下相应文件
4. 修改src/de/blinkt/openvpn包下的VpnProfile.java文件,注释掉5.0中不能识别参数: cfg += "redirect-private unblock-local\n";(无则不改)
5. 由于4.4不支持Pie,因此编译生成的5.0版本和4.4互不兼容。但二者版本均可以在MTK4.22运行。需要维护两个版本,其他版本暂未真机测试,其他同鞋有兴趣可继续测试。
发现其它有问题和不足的地方请给与评论指正。
Pie:位置独立的可执行区域(position-independent
executables)
(原创文章,转载请注明出处)