Я проанализировал свой 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
Мобильная версия