W moim projekcie Android, przy użyciu najnowszych narzędzi do kompilacji Gradle, mam pojedynczy plik z natywnym kodem C i kilkoma prostymi funkcjami. Jedyną rzeczą zawartą w pliku C jest string.h i jni.h, a funkcje po prostu zwracają łańcuch i prymitywy. Plik znajduje się w katalogu jni oprócz innych folderów źródłowych (java, res itd.).Symbole są usuwane podczas budowania kodu natywnego przy użyciu Gradle
Kiedy buduję aplikację, kompiluje kod C, generuje plik .so i umieszcza go w moim pliku APK. Problem polega na tym, że plik .so ma obnażone WSZYSTKIE symbole.
Podczas sprawdzania pośredniego pliku .so umieszczonego w katalogu build/intermediate/ndk/obj, wszystkie symbole nadal istnieją. Więc gdzieś po wygenerowaniu pierwszego pliku .so i gdy zostanie spakowany, wszystko zostaje usunięte.
Podczas budowania pliku .so za pomocą wiersza poleceń ndk-build wszystko działa poprawnie, a symbole są dołączone.
Czy to błąd w pluginach systemu Android Gradle (używam najnowszego!) Czy czegoś brakuje?
Którą wersję NDK używasz? –
Próbowano zarówno r9d, jak i r10. Ten sam wynik. –