2014-02-25 3 views
3

AOSP 코드를 약간 변경하고 컴파일했습니다. 지금은 Applicaton에 libstagefright.so을 (를) 만들고 싶습니다.Android NDK 애플리케이션에 libstagefright 추가

Android.mkLOCAL_SRC_FILES으로 경로를 추가하여 libstagefright.so 라이브러리를 추가합니다. 내가 구축하고 프로그램 내가 library.What의 변경 사항이 표시되지 않는 실행 내가 변경 사항이 표시되지 않는 문제가있을 때 여기

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) 

it`입니까?

미리 감사드립니다.

+0

어떻게'libstagefright.so'를 사용하고 있습니까? 일반적으로, 'MediaPlayerService'를 사용하여 '미디어'특정 기능을 검색하고 작업합니다. 이 파일을 _Source File_로 추가하면 도움이되지 않습니다. 'libstagefright.so'의 서비스를 어떻게 사용하고 있는지 보여줄 수 있습니까? – Ganesh

+0

@Ganesh ... NDK에서 하드웨어 디코딩을 시도하고 있습니다.하지만 libstagefright.so에서 로그를 확인하고 자체 로그를 추가해야합니다. –

+0

로그를 활성화하고 원본 로그를 추가 한 다음 라이브러리를 다시 빌드 할 수 있습니다. 'system.img'에서 라이브러리를 바꾸거나'/ system/lib'에서 직접 디바이스를 교체하십시오. 이 문제가 해결되지 않습니까? – Ganesh

답변

0

libstagefright.so 대신 A30P 파생 라이브러리를 libmybetterstagefrght.so으로 빌드하고 stagefright 대신 앱에서 사용할 수 있습니다. 다른 라이브러리와 마찬가지로 라이브러리를 libs 폴더에 넣을 수 있습니다. 당신은 뿌리가 필요하지 않습니다.

빌드하는 라이브러리는 여전히 많은 OMX 및 다른 바이너리에 /system/lib으로 연결되므로 모든 인터페이스를 유지해야합니다. 아마 당신의 장치의 시스템 레벨에 해당하는 AOSP 개정판으로 시작하고 싶을 것입니다. 기기에서 맞춤 Android를 사용하는 경우 호환성 문제가 발생할 수 있습니다. 최상의 결과를 얻으려면 Nexus 기기를 사용하세요.

+1

도움 주셔서 감사합니다 :) –