2017-09-12 3 views
1

partagées sur l'utilisation $BUILD_SHARED_LIBRARY comme indiqué ci-dessous, et appeler ndk-build, je reçois une bibliothèque nommée libmyaudio.soComment éviter: NDK-build ajoute le préfixe lib aux bibliothèques

LOCAL_MODULE := myaudio 
LOCAL_SRC_FILES := loop.c 
LOCAL_SHARED_LIBRARIES := liblog libcutils 
LOCAL_MODULE_TAGS := optional 
LOCAL_CFLAGS := -Wno-unused-parameter $(INCLUDE_PATH) 
LOCAL_LDFLAGS += -llog 
include $(BUILD_SHARED_LIBRARY) 

Que puis-je changer Android.mk pour veiller à ce que construit fichier est myaudio.so au lieu de libmyaudio.so

+0

Pourquoi? Les bibliothèques préfixées par lib sont une convention à laquelle tout outil s'attend. –

+0

@Dan sauf dlopen(). Les HAL Android n'utilisent pas de noms commençant par lib: par exemple. bluetooth.default.so, audio.primary.default.so etc. et ils sont chargés via un dlopen(). J'ai posé cette question parce que je soupçonnais un problème CTS à cause de cela. Il s'avère que ce n'était pas lié à mon problème. – GPS

Répondre

2

utilisation LOCAL_MODULE_FILENAME:

LOCAL_MODULE_FILENAME := myaudio 

De la documentation NDK:

Cette variable en option vous permet de remplacer les noms que le système de compilation utilise par défaut pour les fichiers qu'il génère. [...] Note: Vous ne pouvez pas remplacer le chemin du fichier ou l'extension du fichier.