diff --git a/app/build.gradle.kts b/app/build.gradle.kts index bd8956faa..839d58a39 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -100,9 +100,6 @@ play { dependencies { androidTestImplementation(Libs.leakcanary_android_instrumentation) - implementation("com.getkeepsafe.relinker:relinker:1.4.5") - api(fileTree(mapOf("include" to "*.aar", "dir" to "libs"))) - implementation(files("/home/hp-pc03/Desktop/lib-release.aar")) } task("generateVersionCodeAndName") { val file = File("VERSION_INFO") diff --git a/buildSrc/src/main/kotlin/Libs.kt b/buildSrc/src/main/kotlin/Libs.kt index f4dc540fa..f9f01e338 100644 --- a/buildSrc/src/main/kotlin/Libs.kt +++ b/buildSrc/src/main/kotlin/Libs.kt @@ -344,4 +344,9 @@ object Libs { * https://developer.android.com/testing */ const val junit: String = "androidx.test.ext:junit:" + Versions.junit + + /** + * https://github.com/KeepSafe/ReLinker + */ + const val relinker: String = "com.getkeepsafe.relinker:relinker:" + Versions.relinker } diff --git a/buildSrc/src/main/kotlin/Versions.kt b/buildSrc/src/main/kotlin/Versions.kt index 40f8e53a5..12d3b3982 100644 --- a/buildSrc/src/main/kotlin/Versions.kt +++ b/buildSrc/src/main/kotlin/Versions.kt @@ -86,7 +86,7 @@ object Versions { const val core_ktx: String = "1.3.2" - const val kiwixlib: String = "10.1.1" + const val kiwixlib: String = "11.0.0" const val material: String = "1.2.1" @@ -101,6 +101,8 @@ object Versions { const val webkit: String = "1.3.0" const val junit: String = "1.1.4" + + const val relinker: String = "1.4.5" } /** diff --git a/core/build.gradle.kts b/core/build.gradle.kts index ca3aa315b..865d9c073 100644 --- a/core/build.gradle.kts +++ b/core/build.gradle.kts @@ -60,16 +60,14 @@ dependencies { implementation(Libs.threetenabp) // Get kiwixlib online if it is not populated locally - implementation("com.getkeepsafe.relinker:relinker:1.4.5") - api(fileTree(mapOf("include" to "*.aar", "dir" to "libs"))) - implementation(files("/home/hp-pc03/Desktop/lib-release.aar")) - // if (!shouldUseLocalVersion()) { - // api(Libs.kiwixlib) - // } else { - // implementation("com.getkeepsafe.relinker:relinker:1.4.5") - // api(fileTree(mapOf("include" to "*.aar", "dir" to "libs"))) - // implementation(files("/home/hp-pc03/Desktop/lib-release.aar")) - // } + if (!shouldUseLocalVersion()) { + api(Libs.kiwixlib) + } else { + api(fileTree(mapOf("include" to "*.aar", "dir" to "libs"))) + } + + // Relinker to load libkiwix + implementation(Libs.relinker) // Document File implementation(Libs.select_folder_document_file) diff --git a/core/detekt_baseline.xml b/core/detekt_baseline.xml index 800d1054a..018e38128 100644 --- a/core/detekt_baseline.xml +++ b/core/detekt_baseline.xml @@ -31,6 +31,7 @@ MagicNumber:Seconds.kt$Seconds$60 MagicNumber:Seconds.kt$Seconds$60.0 MagicNumber:TabsAdapter.kt$TabsAdapter$8 + MagicNumber:ZimFileReader.kt$ZimFileReader$1024 MatchingDeclarationName:PageTestHelpers.kt$PageImpl : Page MaxLineLength:BookUtilsTest.kt$BookUtilsTest$// this case uses the result from the container nested class inside LanguageUtils. It will be tested in LanguageUtilsTest MaxLineLength:MetaLinkNetworkEntityTest.kt$MetaLinkNetworkEntityTest$"http://www.mirrorservice.org/sites/download.kiwix.org/zim/wikipedia/wikipedia_af_all_nopic_2016-05.zim" diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/JNIInitialiser.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/JNIInitialiser.kt index 45da877d7..5b25d6f66 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/JNIInitialiser.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/JNIInitialiser.kt @@ -19,6 +19,7 @@ package org.kiwix.kiwixmobile.core import android.content.Context import android.util.Log +import com.getkeepsafe.relinker.ReLinker import org.kiwix.libkiwix.JNIKiwix import org.kiwix.kiwixmobile.core.utils.TAG_KIWIX import java.io.File @@ -27,6 +28,11 @@ import javax.inject.Inject internal class JNIInitialiser @Inject constructor(context: Context, jniKiwix: JNIKiwix) { init { + /* Load wrapper's .so files which we have missed to load in libkiwix + More information here https://github.com/kiwix/java-libkiwix/issues/39 + */ + ReLinker.loadLibrary(context, "kiwix_wrapper") + ReLinker.loadLibrary(context, "zim_wrapper") // loadICUData(context)?.let(jniKiwix::setDataDirectory) }