UnsatisfiedLinkError native метод не найден-Android-Telegram

Я скачал исходный код Telegram с GitHub и скомпилировал его. сначала это дало мне какую-то ошибкуNDK_PROJECT_PATH = null, и так как кто-то предложил, что я изменился :

    sourceSets.main.jniLibs.srcDirs = ['./jni/']
    externalNativeBuild {        
    ndkBuild {
        path "jni/Android.mk"
       }
    }

к :

sourceSets.main {
    jniLibs.srcDir 'libs'
    jni.srcDirs = [] //disable automatic ndk-build call
}

в gradle.


после выполнения 2 .таким образом, файл, сгенерированный в libsarmeabiand libsarmeabi-v7a(оба они около 4kb), и я могу получить LaunchActivity.java, но когда я нажимаю на START MESSAGING, приложение аварийно завершает ApplicationLoader.loadWallpaper();работу (в LaunchActivity.java), который выполняет runnable. I debbuged it until i reached to uncaughtExceptionwhich was as following:


unsatisfiedlinkerror native method Not found: org.телеграмма.посланник.Служебные программы.pinBitmap: (Landroid / графика / растровое изображение;)

после этого я снова компилирую native JNI Manual из командной строки (я имею в виду переход в родительскую папку nji и запуск ndk-build.УМК. )
после завершения компиляции в родительской папке nji была создана папка «obj», и эти 2 файла были сгенерированы снова, но с размером 14kb.


Я заменяю их на старые в папке libs.

после очистки и повторного запуска, у меня все еще есть та же ошибка (родной метод не найден…).

может ли любое тело помочь мне, что не так с этим NDK ??
любая помощь будет оценена.


Спасибо, Ма.

1 ответ

  1. вся проблема была из-за каталога моего проекта.
    каталог содержит пространство и не совместим с NDK.
    Я переместил проект в другой каталог, и теперь он компилируется.