kaaass / ZerotierFix

An unofficial Zerotier Android client patched from official client
GNU General Public License v2.0
1.79k stars 210 forks source link

替换预编译 JNI 库为 ZT 源码编译 / Replace pre-built JNI library #32

Closed kaaass closed 1 year ago

kaaass commented 1 year ago

描述

目前 Zerotier Fix 仍然在仓库中使用预编译的 JNI 库。这种分发方式使得 Zerotier Fix 目前无法做到完全的源码编译,因而降低了项目的透明度。此外,目前 Zerotier Fix 源码库中仍包含部分 ZT SDK 源码。这可能会造成 SDK 与 JNI 库对应的版本不一致,并且还有可能造成潜在的 LICENSE 问题。因此,本 Feature 旨在实现如下内容:

  1. 替换预编译的 JNI 库为从 ZT 源码编译
  2. 从目前仓库托管的源码树中移除 ZT SDK 相关的源码,转而在编译前从 Zerotier 官方仓库中获取对应版本的代码

相关 Issue

maryjeck commented 1 year ago

老大,yyds

sffxzzp commented 1 year ago

参考 #31,用 Github Actions 搞了个自动编译 apk,目前可以打包 1.10.6。 地址见:https://github.com/sffxzzp/ZerotierFix-Build

根据 ZeroTierOne#77c7f9,Zerotier Core 应该是已经切换到 CMake 来编译了。 但目前尝试了几次,不太会弄,所以还是用的 ndk-build。 现在使用 CMake 编译,已经可以编译通过,并且初步测试正常。

编译的时候出的几个问题,我的解决方法也很糙,供作者参考,希望能有帮助。

kaaass commented 1 year ago

感谢 @sffxzzp 提供的参考~我看看具体要怎么引入更好

kaaass commented 1 year ago

本 Issue 已在 #55 中实现,预计在下个更新中发布。