Файл библиотеки Android Native не найден во время выполненияAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Файл библиотеки Android Native не найден во время выполнения

Сообщение Anonymous »

Я создаю VPN-приложение (с использованием протокола v2ray) для школьного проекта и пытаюсь использовать эту (https://github.com/dev7dev/V2ray-Android) библиотеку, и все работает нормально, если я просто создаю предоставленные файлы проекта, однако, когда я создаю свой собственный проект и импортирую модуль, следуя инструкциям, я получаю ошибку времени выполнения, сообщающую, что файл jnilib "libtun2socks.so" не существует (невозможно запустить программу «/data/app/com.example.bobvpn5-JTEQwsRle2opKu7bKLubFg==/lib/arm64/libtun2socks.so» (в каталоге «/data/user/0/com.example.bobvpn5/files»): ошибка=2, нет такой файл или каталог).
Я проанализировал свой APK-файл и обнаружил, что файл на самом деле есть в APK, но просто не загрузился должным образом. Для проверки я использовал этот фрагмент отладочного кода:

Код: Выделить всё

File file = new File(getApplicationInfo().nativeLibraryDir, "libtun2socks.so");
if (file.exists()) {
Log.d("!!!MainActivity", "libtun2socks.so exists at " + file.getAbsolutePath());
} else {
Log.e("!!!MainActivity", "libtun2socks.so does NOT exist");
}
и протестирован как на предоставленном проекте, так и на моем собственном. Предоставленный проект показывает, что он существует (как и ожидалось), а отладка моего проекта показывает, что он не существует. Я также заметил эту ошибку компоновщика для моего проекта
Изображение
, которая не возникает при запуске предоставленного проекта.
В течение последних двух дней я подозревал, что это связано с моими конфигурациями gradle (поскольку моя версия gradle + AGP выше, чем версия предоставленного проекта), но теперь я не знаю, есть ли Проблема в gradle, потому что я проверил свои конфигурации 6 миллиардов раз, убедился в правильности настроек jniSrcDirs, уровня приложения, уровня проекта, уровня v2ray и т. д.
Я могу предоставьте кому-нибудь помощь с файлом моего проекта.
Заранее большое СПАСИБО, я рвал на себе волосы, потому что между моим проектом и его проектом почти все одинаково. PS мой проект — это простой проект без дополнительного кода, который мог бы мешать. И это не проблема с собственными библиотеками .so, потому что это одни и те же файлы. А также работал на тех же устройствах с той же архитектурой.

Подробнее здесь: https://stackoverflow.com/questions/785 ... -at-runtim
Гость
 Re: Файл библиотеки Android Native не найден во время выполнения

Сообщение Гость »

Я получил такую же ошибку.
Что я обнаружил - это отсутствует скомпилированный файл для /lib/arm64/libtun2socks\.so
2. \app\src\main\jniLibs - тут должны располагаться библиотеки

В моем случае он не видит и другие. Возможно проблема в контексте. тк в apk файле он .so файл есть
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»