Updated Android integration, added build instructions to make-mac

This commit is contained in:
Joseph Henry
2016-06-21 16:26:38 -07:00
parent bc14b532ed
commit ae7eb359a0
13 changed files with 192 additions and 82 deletions

View File

@@ -2,24 +2,28 @@ LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
ZTSDK := ../../../../src
ZT := ../../../../zerotierone
LOCAL_MODULE := ZeroTierOneJNI
LOCAL_C_INCLUDES := $(ZT1)/include
LOCAL_C_INCLUDES += $(ZT1)/ext/lwip/src/include
LOCAL_C_INCLUDES += $(ZT1)/ext/lwip/src/include/ipv4
LOCAL_C_INCLUDES += $(ZT1)/netcon
LOCAL_C_INCLUDES += $(ZT1)/node
LOCAL_C_INCLUDES += $(ZT1)/
LOCAL_C_INCLUDES += $(ZT1)/service
LOCAL_C_INCLUDES += $(ZT1)/osdep
LOCAL_C_INCLUDES += $(ZT1)/node
LOCAL_C_INCLUDES += $(ZTSDK)/src
LOCAL_LDLIBS := -llog
# LOCAL_CFLAGS := -g
# Netcon files
LOCAL_SRC_FILES := \
$(ZT1)/src/SDK_RPC.c \
$(ZT1)/src/SDK_Proxy.cpp \
$(ZT1)/src/SDK_ServiceSetup.cpp \
$(ZT1)/src/SDK_EthernetTap.cpp
$(ZTSDK)/SDK_RPC.c \
$(ZTSDK)/SDK_Proxy.cpp \
$(ZTSDK)/SDK_ServiceSetup.cpp \
$(ZTSDK)/SDK_EthernetTap.cpp
# ZeroTierOne ext files
LOCAL_SRC_FILES += \
@@ -39,70 +43,70 @@ LOCAL_SRC_FILES += \
$(ZT1)/node/IncomingPacket.cpp \
$(ZT1)/node/InetAddress.cpp \
$(ZT1)/node/Multicaster.cpp \
$(ZT1)/node/Network.cpp \
$(ZT1)/node/NetworkConfig.cpp \
$(ZT1)/node/Node.cpp \
$(ZT1)/node/OutboundMulticast.cpp \
$(ZT1)/node/Packet.cpp \
$(ZT1)/node/Path.cpp \
$(ZT1)/node/Peer.cpp \
$(ZT1)/node/Poly1305.cpp \
$(ZT1)/node/Salsa20.cpp \
$(ZT1)/node/SelfAwareness.cpp \
$(ZT1)/node/SHA512.cpp \
$(ZT1)/node/Switch.cpp \
$(ZT1)/node/Topology.cpp \
$(ZT1)/node/Utils.cpp \
$(ZT1)/osdep/Http.cpp \
$(ZT1)/osdep/OSUtils.cpp \
$(ZT1)/osdep/BackgroundResolver.cpp
$(ZT)/node/Network.cpp \
$(ZT)/node/NetworkConfig.cpp \
$(ZT)/node/Node.cpp \
$(ZT)/node/OutboundMulticast.cpp \
$(ZT)/node/Packet.cpp \
$(ZT)/node/Path.cpp \
$(ZT)/node/Peer.cpp \
$(ZT)/node/Poly1305.cpp \
$(ZT)/node/Salsa20.cpp \
$(ZT)/node/SelfAwareness.cpp \
$(ZT)/node/SHA512.cpp \
$(ZT)/node/Switch.cpp \
$(ZT)/node/Topology.cpp \
$(ZT)/node/Utils.cpp \
$(ZT)/osdep/Http.cpp \
$(ZT)/osdep/OSUtils.cpp \
$(ZT)/osdep/BackgroundResolver.cpp
# lwIP api files
LOCAL_SRC_FILES += \
$(ZT1)/ext/lwip/src/api/api_lib.c \
$(ZT1)/ext/lwip/src/api/api_msg.c \
$(ZT1)/ext/lwip/src/api/err.c \
$(ZT1)/ext/lwip/src/api/netbuf.c \
$(ZT1)/ext/lwip/src/api/netdb.c \
$(ZT1)/ext/lwip/src/api/netifapi.c \
$(ZT1)/ext/lwip/src/api/sockets.c \
$(ZT1)/ext/lwip/src/api/tcpip.c
$(ZT)/ext/lwip/src/api/api_lib.c \
$(ZT)/ext/lwip/src/api/api_msg.c \
$(ZT)/ext/lwip/src/api/err.c \
$(ZT)/ext/lwip/src/api/netbuf.c \
$(ZT)/ext/lwip/src/api/netdb.c \
$(ZT)/ext/lwip/src/api/netifapi.c \
$(ZT)/ext/lwip/src/api/sockets.c \
$(ZT)/ext/lwip/src/api/tcpip.c
# lwIP core files
LOCAL_SRC_FILES += \
$(ZT1)/ext/lwip/src/core/def.c \
$(ZT1)/ext/lwip/src/core/dhcp.c \
$(ZT1)/ext/lwip/src/core/dns.c \
$(ZT1)/ext/lwip/src/core/init.c \
$(ZT1)/ext/lwip/src/core/mem.c \
$(ZT1)/ext/lwip/src/core/memp.c \
$(ZT1)/ext/lwip/src/core/netif.c \
$(ZT1)/ext/lwip/src/core/pbuf.c \
$(ZT1)/ext/lwip/src/core/raw.c \
$(ZT1)/ext/lwip/src/core/stats.c \
$(ZT1)/ext/lwip/src/core/sys.c \
$(ZT1)/ext/lwip/src/core/tcp_in.c \
$(ZT1)/ext/lwip/src/core/tcp_out.c \
$(ZT1)/ext/lwip/src/core/tcp.c \
$(ZT1)/ext/lwip/src/core/timers.c \
$(ZT1)/ext/lwip/src/core/udp.c
$(ZT)/ext/lwip/src/core/def.c \
$(ZT)/ext/lwip/src/core/dhcp.c \
$(ZT)/ext/lwip/src/core/dns.c \
$(ZT)/ext/lwip/src/core/init.c \
$(ZT)/ext/lwip/src/core/mem.c \
$(ZT)/ext/lwip/src/core/memp.c \
$(ZT)/ext/lwip/src/core/netif.c \
$(ZT)/ext/lwip/src/core/pbuf.c \
$(ZT)/ext/lwip/src/core/raw.c \
$(ZT)/ext/lwip/src/core/stats.c \
$(ZT)/ext/lwip/src/core/sys.c \
$(ZT)/ext/lwip/src/core/tcp_in.c \
$(ZT)/ext/lwip/src/core/tcp_out.c \
$(ZT)/ext/lwip/src/core/tcp.c \
$(ZT)/ext/lwip/src/core/timers.c \
$(ZT)/ext/lwip/src/core/udp.c
# lwIP core/ip4 files
LOCAL_SRC_FILES += \
$(ZT1)/ext/lwip/src/core/ipv4/autoip.c \
$(ZT1)/ext/lwip/src/core/ipv4/icmp.c \
$(ZT1)/ext/lwip/src/core/ipv4/igmp.c \
$(ZT1)/ext/lwip/src/core/ipv4/inet_chksum.c \
$(ZT1)/ext/lwip/src/core/ipv4/inet.c \
$(ZT1)/ext/lwip/src/core/ipv4/ip_addr.c \
$(ZT1)/ext/lwip/src/core/ipv4/ip_frag.c \
$(ZT1)/ext/lwip/src/core/ipv4/ip.c \
$(ZT)/ext/lwip/src/core/ipv4/autoip.c \
$(ZT)/ext/lwip/src/core/ipv4/icmp.c \
$(ZT)/ext/lwip/src/core/ipv4/igmp.c \
$(ZT)/ext/lwip/src/core/ipv4/inet_chksum.c \
$(ZT)/ext/lwip/src/core/ipv4/inet.c \
$(ZT)/ext/lwip/src/core/ipv4/ip_addr.c \
$(ZT)/ext/lwip/src/core/ipv4/ip_frag.c \
$(ZT)/ext/lwip/src/core/ipv4/ip.c \
# lwIP netif files
LOCAL_SRC_FILES += \
$(ZT1)/ext/lwip/src/netif/etharp.c \
$(ZT1)/ext/lwip/src/netif/ethernetif.c \
$(ZT1)/ext/lwip/src/netif/slipif.c
$(ZT)/ext/lwip/src/netif/etharp.c \
$(ZT)/ext/lwip/src/netif/ethernetif.c \
$(ZT)/ext/lwip/src/netif/slipif.c
# JNI Files
LOCAL_SRC_FILES += \

View File

@@ -51,6 +51,7 @@
<sourceFolder url="file://$MODULE_DIR$/src/debug/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/jni" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/rs" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/debug/shaders" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/res" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/assets" type="java-test-resource" />
@@ -58,12 +59,14 @@
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/jni" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/rs" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/testDebug/shaders" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/main/res" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/main/assets" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/main/aidl" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/shaders" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
@@ -71,6 +74,7 @@
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
@@ -78,16 +82,23 @@
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/jni" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/bundles" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/dependency-cache" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.1.1/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/support-v4/23.1.1/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.android.gms/play-services-analytics/8.4.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.google.android.gms/play-services-basement/8.4.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-safeguard" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifests" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/mockable-android-23.jar" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/shaders" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
<excludeFolder url="file://$MODULE_DIR$/build/outputs" />
<excludeFolder url="file://$MODULE_DIR$/build/tmp" />

View File

@@ -29,9 +29,9 @@ android {
}
task ndkBuild(type: Exec) {
if (Os.isFamily(Os.FAMILY_WINDOWS)) {
commandLine "${android.getNdkDirectory().getAbsolutePath()}/ndk-build.cmd", '-j8', '-C', file('../../java').absolutePath, "ZT1=${System.getProperty('user.dir')}/../../.."
commandLine "${android.getNdkDirectory().getAbsolutePath()}/ndk-build.cmd", '-j8', '-C', file('../../java').absolutePath, "ZT1=${System.getProperty('user.dir')}/../../../../zerotierone"
} else {
commandLine "${android.getNdkDirectory().getAbsolutePath()}/ndk-build", '-j8', '-C', file('../../java').absolutePath, "ZT1=${System.getProperty('user.dir')}/../../.."
commandLine "${android.getNdkDirectory().getAbsolutePath()}/ndk-build", '-j8', '-C', file('../../java').absolutePath, "ZT1=${System.getProperty('user.dir')}/../../../zerotierone"
}
}
tasks.withType(JavaCompile) {

View File

@@ -93,7 +93,7 @@ public class ZeroTierOneService extends VpnService implements Runnable, EventLis
networkConfigs = new HashMap<>();
eventBus.register(this);
Netcon.NetconWrapper wrapper = new Netcon.NetconWrapper();
Netcon.ZT_SDK_Wrapper wrapper = new Netcon.ZT_SDK_Wrapper();
wrapper.startOneService();

View File

@@ -5,7 +5,7 @@ buildscript {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.3.0'
classpath 'com.android.tools.build:gradle:2.1.0'
classpath 'com.google.gms:google-services:1.3.0-beta1'
// NOTE: Do not place your application dependencies here; they belong

View File

@@ -0,0 +1,82 @@
<?xml version="1.0" encoding="utf-8"?>
<items version="2" >
<item
jar="/Users/Joseph/Library/Android/sdk/extras/android/m2repository/com/android/support/support-annotations/23.1.1/support-annotations-23.1.1.jar"
jumboMode="false"
revision="23.0.2"
sha1="8d680ba5a623724d1fb0e81c36a790f023a6cede">
<dex dex="/Users/Joseph/code/zerotiersdk/integrations/Android/proj/app/build/intermediates/pre-dexed/debug/support-annotations-23.1.1_5cd68cc6b46a0de049ec386f6fc8f298bcd71a7e.jar" />
</item>
<item
jar="/Users/Joseph/.gradle/caches/modules-2/files-2.1/org.seamless/seamless-xml/1.1.0/497f05ee745c564e0ab5c26e66e60d4f7502fba3/seamless-xml-1.1.0.jar"
jumboMode="false"
revision="23.0.2"
sha1="497f05ee745c564e0ab5c26e66e60d4f7502fba3">
<dex dex="/Users/Joseph/code/zerotiersdk/integrations/Android/proj/app/build/intermediates/pre-dexed/debug/seamless-xml-1.1.0_00683e56f276d4b9aa45aaa32685df47934f6efa.jar" />
</item>
<item
jar="/Users/Joseph/code/zerotiersdk/integrations/Android/proj/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.1.1/jars/classes.jar"
jumboMode="false"
revision="23.0.2"
sha1="5c5699834e9722f1c288fea2de82725d078ba127">
<dex dex="/Users/Joseph/code/zerotiersdk/integrations/Android/proj/app/build/intermediates/pre-dexed/debug/com.android.support-appcompat-v7-23.1.1_7653a763c9af67633aacdc184e44e140f5800db8.jar" />
</item>
<item
jar="/Users/Joseph/code/zerotiersdk/integrations/Android/proj/app/build/intermediates/exploded-aar/com.android.support/support-v4/23.1.1/jars/classes.jar"
jumboMode="false"
revision="23.0.2"
sha1="6cbc7773921fcfedbe55657578f0cbfe614778dc">
<dex dex="/Users/Joseph/code/zerotiersdk/integrations/Android/proj/app/build/intermediates/pre-dexed/debug/com.android.support-support-v4-23.1.1_0db787dd170345a92125bb6cf144106af3cc06e4.jar" />
</item>
<item
jar="/Users/Joseph/.gradle/caches/modules-2/files-2.1/org.fourthline.cling/cling-core/2.0.1/c588b1493c6f92f3e63755c9b763c740546f805a/cling-core-2.0.1.jar"
jumboMode="false"
revision="23.0.2"
sha1="c588b1493c6f92f3e63755c9b763c740546f805a">
<dex dex="/Users/Joseph/code/zerotiersdk/integrations/Android/proj/app/build/intermediates/pre-dexed/debug/cling-core-2.0.1_3d6d4fc4f66ed0419e6d579c1348a3e87b356737.jar" />
</item>
<item
jar="/Users/Joseph/code/zerotiersdk/integrations/Android/proj/app/build/intermediates/exploded-aar/com.android.support/support-v4/23.1.1/jars/libs/internal_impl-23.1.1.jar"
jumboMode="false"
revision="23.0.2"
sha1="a4de9c81ae239414e1ed0f86441b02abaf29bca9">
<dex dex="/Users/Joseph/code/zerotiersdk/integrations/Android/proj/app/build/intermediates/pre-dexed/debug/internal_impl-23.1.1_abf6348ef937a1c6eb5243b2bc3633b3e86e9535.jar" />
</item>
<item
jar="/Users/Joseph/code/zerotiersdk/integrations/Android/proj/app/build/intermediates/exploded-aar/com.google.android.gms/play-services-basement/8.4.0/jars/classes.jar"
jumboMode="false"
revision="23.0.2"
sha1="8e673cdfadd8f2d98fdb2fda2285c30f6e449782">
<dex dex="/Users/Joseph/code/zerotiersdk/integrations/Android/proj/app/build/intermediates/pre-dexed/debug/com.google.android.gms-play-services-basement-8.4.0_a313548ef3e16fe20e70b2073d296a32645461f6.jar" />
</item>
<item
jar="/Users/Joseph/.gradle/caches/modules-2/files-2.1/de.greenrobot/eventbus/2.4.0/ddd166d01b3158d1c00576d29f7ed15c030df719/eventbus-2.4.0.jar"
jumboMode="false"
revision="23.0.2"
sha1="ddd166d01b3158d1c00576d29f7ed15c030df719">
<dex dex="/Users/Joseph/code/zerotiersdk/integrations/Android/proj/app/build/intermediates/pre-dexed/debug/eventbus-2.4.0_7fa1640dad5da17d111c46b3fec36ec577cb4960.jar" />
</item>
<item
jar="/Users/Joseph/.gradle/caches/modules-2/files-2.1/org.seamless/seamless-http/1.1.0/463012d16bcb06a623d3b931a6cfe19e4beace63/seamless-http-1.1.0.jar"
jumboMode="false"
revision="23.0.2"
sha1="463012d16bcb06a623d3b931a6cfe19e4beace63">
<dex dex="/Users/Joseph/code/zerotiersdk/integrations/Android/proj/app/build/intermediates/pre-dexed/debug/seamless-http-1.1.0_a627c0b0e27b63cd8ed30af446e75334e202210d.jar" />
</item>
<item
jar="/Users/Joseph/code/zerotiersdk/integrations/Android/proj/app/build/intermediates/exploded-aar/com.google.android.gms/play-services-analytics/8.4.0/jars/classes.jar"
jumboMode="false"
revision="23.0.2"
sha1="1c9f35e952b212c843f7bd2c7eec8e82ad95602e">
<dex dex="/Users/Joseph/code/zerotiersdk/integrations/Android/proj/app/build/intermediates/pre-dexed/debug/com.google.android.gms-play-services-analytics-8.4.0_3c7a528abcac3ea4d733a4b470f52391191d9c14.jar" />
</item>
<item
jar="/Users/Joseph/.gradle/caches/modules-2/files-2.1/org.seamless/seamless-util/1.1.0/ef025cdbb79c4a031148b20a6d59db89c72ea0a3/seamless-util-1.1.0.jar"
jumboMode="false"
revision="23.0.2"
sha1="ef025cdbb79c4a031148b20a6d59db89c72ea0a3">
<dex dex="/Users/Joseph/code/zerotiersdk/integrations/Android/proj/app/build/intermediates/pre-dexed/debug/seamless-util-1.1.0_d3e7df7d059ce15b3af16dcec99c97708966d01f.jar" />
</item>
</items>

View File

@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.2-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip

0
integrations/Android/proj/gradlew vendored Normal file → Executable file
View File

View File

@@ -13,7 +13,7 @@
<content url="file://$MODULE_DIR$">
<excludeFolder url="file://$MODULE_DIR$/.gradle" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="jdk" jdkName="1.8" jdkType="JavaSDK" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

View File

@@ -67,21 +67,36 @@ else
STRIP=strip
endif
# Debug output for Network Containers
# Specific levels can be controlled in netcon/common.inc.c
# Debug output for SDK
# Specific levels can be controlled in src/debug.h
ifeq ($(SDK_DEBUG),1)
DEFS+=-DSDK_DEBUG
endif
CXXFLAGS=$(CFLAGS) -fno-rtti
# Build frameworks for application development
# Build bundles for Unity integrations
all:
cd integrations/Apple/ZeroTierSDK_Apple; xcodebuild -scheme ZeroTierSDK_OSX build SYMROOT="../../../build/OSX_Framework"
cd integrations/Apple/ZeroTierSDK_Apple; xcodebuild -scheme ZeroTierSDK_iOS build SYMROOT="../../../build/iOS_Framework"
cd integrations/Apple/ZeroTierSDK_Apple; xcodebuild -scheme ZeroTierSDK_Unity3D_OSX build SYMROOT="../../../build/OSX_Unity_Bundle"
cd integrations/Apple/ZeroTierSDK_Apple; xcodebuild -scheme ZeroTierSDK_Unity3D_iOS build SYMROOT="../../../build/iOS_Unity_Bundle"
# TODO: CHECK if XCODE TOOLS are installed
# Build frameworks for application development
OSX_app_framework:
cd integrations/Apple/ZeroTierSDK_Apple; xcodebuild -scheme ZeroTierSDK_OSX build SYMROOT="../../../build/OSX_app_framework"
iOS_app_framework:
cd integrations/Apple/ZeroTierSDK_Apple; xcodebuild -scheme ZeroTierSDK_iOS build SYMROOT="../../../build/iOS_app_framework"
# Build bundles for Unity integrations
OSX_unity3d_bundle:
cd integrations/Apple/ZeroTierSDK_Apple; xcodebuild -scheme ZeroTierSDK_Unity3D_OSX build SYMROOT="../../../build/OSX_unity3d_bundle"
iOS_unity3d_bundle:
cd integrations/Apple/ZeroTierSDK_Apple; xcodebuild -scheme ZeroTierSDK_Unity3D_iOS build SYMROOT="../../../build/iOS_unity3d_bundle"
# TODO: CHECK if ANDROID/GRADLE TOOLS are installed
# Build JNI library for Android app integration
Android_JNI_library:
cd integrations/Android/proj; ./gradlew assembleDebug
# Build library for Android Unity integrations
sdk: $(OBJS)
rm -f *.o
@@ -99,15 +114,13 @@ sdk: $(OBJS)
ln -sf zerotier-netcon-service zerotier-cli
ln -sf zerotier-netcon-service zerotier-idtool
selftest: $(OBJS) selftest.o
$(CXX) $(CXXFLAGS) -o zerotier-selftest selftest.o $(OBJS) $(LIBS)
$(STRIP) zerotier-selftest
clean:
rm -rf build
rm -rf build/*
find . -type f -name '*.o' -delete
find . -type f -name '*.so' -delete
find . -type f -name '*.o.d' -delete
# Remove junk generated by Android builds
rm -rf netcon/Android/*.o.d
rm -rf netcon/Netcon-Android/proj/app/build/intermediates
rm -rf netcon/*.o netcon/*.so *.dSYM build-* *.pkg *.dmg *.o node/*.o controller/*.o service/*.o osdep/*.o ext/http-parser/*.o ext/lz4/*.o ext/json-parser/*.o $(OBJS) netcon/zerotier-intercept zerotier-netcon-service ztproxy libztapi.so libztkq.so libztintercept.so zerotier-one zerotier-idtool zerotier-selftest zerotier-cli ZeroTierOneInstaller-* mkworld
cd integrations/Android/proj; ./gradlew clean
rm -rf integrations/Android/proj/.gradle
rm -rf integrations/Android/proj/.idea
FORCE:

View File

@@ -40,7 +40,6 @@ extern "C" {
void zt_init_rpc(char *nwid);
const char *get_netpath();
bool check_intercept_enabled_for_thread();
#if defined(__linux__)
static int (*realaccept4)(ACCEPT4_SIG) = 0;
@@ -50,6 +49,7 @@ bool check_intercept_enabled_for_thread();
#endif
#if !defined(__ANDROID__)
bool check_intercept_enabled_for_thread();
static int (*realbind)(BIND_SIG) = 0;
static int (*realsendmsg)(SENDMSG_SIG) = 0;
static ssize_t (*realsendto)(SENDTO_SIG) = 0;

View File

@@ -42,7 +42,7 @@
#include <sys/types.h>
#include <pthread.h>
#include "OneService.hpp"
#include "service/OneService.hpp"
#include "Utils.hpp"
#include "OSUtils.hpp"