From 688ffc3bba76ff5a1e333f04da4918cf421db644 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=96=E7=95=8C?= Date: Sat, 30 May 2020 21:32:03 +0800 Subject: [PATCH] Fix native lib load --- TMessagesProj/src/main/AndroidManifest.xml | 1 + .../tw/nekomimi/nekogram/utils/FileUtil.kt | 33 +++++++------------ build.gradle | 2 +- gradle.properties | 1 + 4 files changed, 14 insertions(+), 23 deletions(-) diff --git a/TMessagesProj/src/main/AndroidManifest.xml b/TMessagesProj/src/main/AndroidManifest.xml index 3f502397f..2d8749ab2 100644 --- a/TMessagesProj/src/main/AndroidManifest.xml +++ b/TMessagesProj/src/main/AndroidManifest.xml @@ -111,6 +111,7 @@ android:icon="@mipmap/ic_launcher" android:label="@string/NekoX" android:largeHeap="true" + android:extractNativeLibs="true" android:manageSpaceActivity="org.telegram.ui.ExternalActionActivity" android:networkSecurityConfig="@xml/network_security_config" android:roundIcon="@mipmap/ic_launcher" diff --git a/TMessagesProj/src/main/java/tw/nekomimi/nekogram/utils/FileUtil.kt b/TMessagesProj/src/main/java/tw/nekomimi/nekogram/utils/FileUtil.kt index 3f08b8cf7..37fc27d07 100644 --- a/TMessagesProj/src/main/java/tw/nekomimi/nekogram/utils/FileUtil.kt +++ b/TMessagesProj/src/main/java/tw/nekomimi/nekogram/utils/FileUtil.kt @@ -5,7 +5,6 @@ import cn.hutool.core.io.resource.ResourceUtil import org.telegram.messenger.ApplicationLoader import org.telegram.messenger.FileLog import java.io.File -import java.util.* import java.util.zip.ZipFile object FileUtil { @@ -33,7 +32,7 @@ object FileUtil { @JvmStatic @JvmOverloads - fun delete(file: File?,filter: (File) -> Boolean = { true }) { + fun delete(file: File?, filter: (File) -> Boolean = { true }) { runCatching { @@ -155,40 +154,30 @@ object FileUtil { if (!execFile.isFile) { - System.loadLibrary(name) + FileLog.d("Native library $execFile not found") + + execFile = File(ApplicationLoader.getDataDirFixed(), "cache/lib/${execFile.name}") if (!execFile.isFile) { - FileLog.d("Native library $execFile not found") + runCatching { - execFile = File(ApplicationLoader.getDataDirFixed(), "cache/lib/${execFile.name}") + saveNonAsset("lib/${Build.CPU_ABI}/${execFile.name}", execFile) - if (!execFile.isFile) { + FileLog.d("lib extracted with default abi: $execFile, ${Build.CPU_ABI}") - runCatching { + }.recover { - saveNonAsset("lib/${Build.CPU_ABI}/${execFile.name}", execFile) + saveNonAsset("lib/${Build.CPU_ABI2}/${execFile.name}", execFile) - FileLog.d("lib extracted with default abi: $execFile, ${Build.CPU_ABI}") + FileLog.d("lib extracted with abi2: $execFile, ${Build.CPU_ABI2}") - }.recover { - - saveNonAsset("lib/${Build.CPU_ABI2}/${execFile.name}", execFile) - - FileLog.d("lib extracted with abi2: $execFile, ${Build.CPU_ABI2}") - - - } - - } else { - - FileLog.d("lib already extracted: $name") } } else { - FileLog.d("lib found after load: $name") + FileLog.d("lib already extracted: $name") } diff --git a/build.gradle b/build.gradle index 072e19266..1261aeec7 100644 --- a/build.gradle +++ b/build.gradle @@ -7,7 +7,7 @@ buildscript { maven { url "https://plugins.gradle.org/m2/" } } dependencies { - classpath 'com.android.tools.build:gradle:3.6.3' + classpath 'com.android.tools.build:gradle:4.0.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.72" classpath 'com.google.gms:google-services:4.3.3' classpath 'com.google.firebase:firebase-crashlytics-gradle:2.0.0' diff --git a/gradle.properties b/gradle.properties index 2ecdd122d..ca48fd2a7 100644 --- a/gradle.properties +++ b/gradle.properties @@ -20,3 +20,4 @@ org.gradle.configureondemand=false org.gradle.daemon=true org.gradle.jvmargs=-Xmx1536M -Dkotlin.daemon.jvm.options\="-Xmx4096M" -XX\:MaxPermSize\=4096m org.gradle.parallel=true +android.bundle.enableUncompressedNativeLibs=false \ No newline at end of file