Update LibraryVersion.java, LibraryVersion.java, and 3 more files...
This commit is contained in:
parent
27e77c40e0
commit
9bbb59695a
@ -2,8 +2,8 @@ package it.tdlight.common.utils;
|
|||||||
public final class LibraryVersion {
|
public final class LibraryVersion {
|
||||||
public static final String VERSION = "${project.version}";
|
public static final String VERSION = "${project.version}";
|
||||||
public static final String IMPLEMENTATION_NAME = "tdlib";
|
public static final String IMPLEMENTATION_NAME = "tdlib";
|
||||||
public static final Class<?> LINUX_AMD64_CLASS = it.tdlight.jni.tdlib.linux.amd64.LoadLibrary.class;
|
public static final String LINUX_AMD64_CLASS = "it.tdlight.jni.tdlib.linux.amd64.LoadLibrary";
|
||||||
public static final Class<?> LINUX_AARCH64_CLASS = it.tdlight.jni.tdlib.linux.aarch64.LoadLibrary.class;
|
public static final String LINUX_AARCH64_CLASS = "it.tdlight.jni.tdlib.linux.aarch64.LoadLibrary";
|
||||||
public static final Class<?> WINDOWS_AMD64_CLASS = it.tdlight.jni.tdlib.win.amd64.LoadLibrary.class;
|
public static final String WINDOWS_AMD64_CLASS = "it.tdlight.jni.tdlib.win.amd64.LoadLibrary";
|
||||||
public static final Class<?> OSX_AMD64_CLASS = it.tdlight.jni.tdlib.osx.amd64.LoadLibrary.class;
|
public static final String OSX_AMD64_CLASS = "it.tdlight.jni.tdlib.osx.amd64.LoadLibrary";
|
||||||
}
|
}
|
@ -2,8 +2,8 @@ package it.tdlight.common.utils;
|
|||||||
public final class LibraryVersion {
|
public final class LibraryVersion {
|
||||||
public static final String VERSION = "${project.version}";
|
public static final String VERSION = "${project.version}";
|
||||||
public static final String IMPLEMENTATION_NAME = "tdlight";
|
public static final String IMPLEMENTATION_NAME = "tdlight";
|
||||||
public static final Class<?> LINUX_AMD64_CLASS = it.tdlight.jni.tdlight.linux.amd64.LoadLibrary.class;
|
public static final String LINUX_AMD64_CLASS = "it.tdlight.jni.tdlight.linux.amd64.LoadLibrary";
|
||||||
public static final Class<?> LINUX_AARCH64_CLASS = it.tdlight.jni.tdlight.linux.aarch64.LoadLibrary.class;
|
public static final String LINUX_AARCH64_CLASS = "it.tdlight.jni.tdlight.linux.aarch64.LoadLibrary";
|
||||||
public static final Class<?> WINDOWS_AMD64_CLASS = it.tdlight.jni.tdlight.win.amd64.LoadLibrary.class;
|
public static final String WINDOWS_AMD64_CLASS = "it.tdlight.jni.tdlight.win.amd64.LoadLibrary";
|
||||||
public static final Class<?> OSX_AMD64_CLASS = it.tdlight.jni.tdlight.osx.amd64.LoadLibrary.class;
|
public static final String OSX_AMD64_CLASS = "it.tdlight.jni.tdlight.osx.amd64.LoadLibrary";
|
||||||
}
|
}
|
@ -24,6 +24,7 @@ import java.nio.file.Files;
|
|||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
import java.nio.file.Paths;
|
import java.nio.file.Paths;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
import java.lang.reflect.InvocationTargetException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The class to load the libraries needed to run Tdlib
|
* The class to load the libraries needed to run Tdlib
|
||||||
@ -104,29 +105,49 @@ public class LoadLibrary {
|
|||||||
case linux:
|
case linux:
|
||||||
switch (arch) {
|
switch (arch) {
|
||||||
case amd64:
|
case amd64:
|
||||||
classForResource = LibraryVersion.LINUX_AMD64_CLASS;
|
try {
|
||||||
|
classForResource = Class.forName(LibraryVersion.LINUX_AMD64_CLASS);
|
||||||
|
} catch (ClassNotFoundException e) {
|
||||||
|
// not found
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case aarch64:
|
case aarch64:
|
||||||
classForResource = LibraryVersion.LINUX_AARCH64_CLASS;
|
try {
|
||||||
|
classForResource = Class.forName(LibraryVersion.LINUX_AARCH64_CLASS);
|
||||||
|
} catch (ClassNotFoundException e) {
|
||||||
|
// not found
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case osx:
|
case osx:
|
||||||
if (arch == Arch.amd64) {
|
if (arch == Arch.amd64) {
|
||||||
classForResource = LibraryVersion.OSX_AMD64_CLASS;
|
try {
|
||||||
|
classForResource = Class.forName(LibraryVersion.OSX_AMD64_CLASS);
|
||||||
|
} catch (ClassNotFoundException e) {
|
||||||
|
// not found
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case win:
|
case win:
|
||||||
if (arch == Arch.amd64) {
|
if (arch == Arch.amd64) {
|
||||||
classForResource = LibraryVersion.WINDOWS_AMD64_CLASS;
|
try {
|
||||||
|
classForResource = Class.forName(LibraryVersion.WINDOWS_AMD64_CLASS);
|
||||||
|
} catch (ClassNotFoundException e) {
|
||||||
|
// not found
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (classForResource == null) {
|
if (classForResource == null) {
|
||||||
throw new IOException("Native libraries for platform " + os + "-" + arch + " not found!");
|
throw new IOException("Native libraries for platform " + os + "-" + arch + " not found!");
|
||||||
}
|
}
|
||||||
String libPath = createPath("libs", os.name(), arch.name(), libname) + getExt(os);
|
InputStream libInputStream;
|
||||||
InputStream libInputStream = classForResource.getResourceAsStream(libPath);
|
try {
|
||||||
|
libInputStream = (InputStream) this.getClass().getDeclaredMethod("getLibraryAsStream").invoke(InputStream.class);
|
||||||
|
} catch (IllegalAccessException | InvocationTargetException | NoSuchMethodException e) {
|
||||||
|
throw new IOException("Native libraries for platform " + os + "-" + arch + " not found!", e);
|
||||||
|
}
|
||||||
if (Files.notExists(tempFile)) {
|
if (Files.notExists(tempFile)) {
|
||||||
Files.copy(libInputStream, tempFile);
|
Files.copy(libInputStream, tempFile);
|
||||||
}
|
}
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
<properties>
|
<properties>
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
<revision>0-SNAPSHOT</revision>
|
<revision>0-SNAPSHOT</revision>
|
||||||
<natives-version>3.0.123</natives-version>
|
<natives-version>3.0.125</natives-version>
|
||||||
</properties>
|
</properties>
|
||||||
<repositories>
|
<repositories>
|
||||||
<repository>
|
<repository>
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
<properties>
|
<properties>
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
<revision>0-SNAPSHOT</revision>
|
<revision>0-SNAPSHOT</revision>
|
||||||
<natives-version>3.0.123</natives-version>
|
<natives-version>3.0.125</natives-version>
|
||||||
</properties>
|
</properties>
|
||||||
<repositories>
|
<repositories>
|
||||||
<repository>
|
<repository>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user