2014-02-25 70 views
3

我在AOSP代碼中做了一些更改並編譯它。現在我想在我的應用程序中添加創建的libstagefright.so在我的Android NDK應用程序中添加libstagefright

Android.mk我加入爲LOCAL_SRC_FILES編譯libstagefright.so庫與路徑。

這裏是it`

LOCAL_PATH := $(call my-dir) 

    include $(CLEAR_VARS) 
    LOCAL_MODULE := libstagefright 
    LOCAL_SRC_FILES := ./Source/out/target/product/generic/system/lib/libstagefright.so 
    include $(PREBUILT_SHARED_LIBRARY) 

    include $(CLEAR_VARS) 

    LOCAL_MODULE := example 
    LOCAL_SRC_FILES := example.cpp 
    LOCAL_LDLIBS := -llog-landroid 
    LOCAL_SHARED_LIBRARIES := libstagefright 
    include $(BUILD_SHARED_LIBRARY) 

當我構建和運行程序中,我沒有看到任何library.What變化是,我沒有看到任何改變的問題?

在此先感謝。

+0

你是如何使用'libstagefright.so'?通常,人們將使用「MediaPlayerService」來檢索「媒體」特定功能及其工作。將此文件添加爲_Source File_將無濟於事。你能告訴你如何使用'libstagefright.so'的服務嗎? – Ganesh

+0

@Ganesh ...我試圖從NDK做硬件解碼,但我需要檢查'libstagefright.so'中的日誌並添加我自己的日誌。 –

+0

您可以啓用日誌,在源中添加自己的日誌並重建庫。請在'system.img'中或直接在'/ system/lib'的設備上替換庫。這不會解決你的問題嗎? – Ganesh

回答

0

相反的libstagefright.so,你可以建立AOSP衍生庫作爲libmybetterstagefrght.so並在您的應用程序,而不是stagefright使用它。就像其他圖書館一樣,您可以將圖書館放在您的libs文件夾中。你不需要root。

請注意,您構建的庫仍然會連接到許多OMX和其他二進制文件,因此所有接口都應該維護。您可能希望從與您的設備的系統級別相對應的AOSP修訂版開始。如果設備使用自定義Android,則可能會遇到兼容性問題 - 爲獲得最佳效果,請使用Nexus設備。

+1

感謝您的幫助:) –

相關問題