안드로이드 개발 질문/답변
(글 수 45,052)
동영상 플레이어 앱들이 plugin 으로 armv5 , neon 등등 해서 다운받게 하는데요
어떻게 plugin으로 이런걸 추가 할 수 있는건가요??
관련된 검색어라도 알려주시면 큰 도움이 될것 같습니다.
2012.10.11 15:13:47
답변감사합니다.
사악미소님의 말씀대로 하니 해결했어요
ndk-build를 이용했는데 보통 armeabi/ 이나 armeabi-v7a인가?? 이런 폴더에 libmylib.so이렇게 생성되어서
안드로이드에서는 System.loadLibrary("mylib") 이렇게 사용하는데
플러그인으로 쓸 so 파일이 첨부된 어플을 만들고 /data/data/플러그인 패키지명/lib/libmylib.so 이렇게 불르면 됩니다.
대신에 System.loadLibrary("mylib")가 아니고 System.load(" /data/data/플러그인 패키지명/lib/libmylib.so")가 됩니다.
adb shell로 확인해보니 /data/data/는 접근할 수없는데 자신의 패키지는 루팅을 안해도 접근이 가능하네요
/data/data/com.my/lib 하면 밑에 so파일이 있는 걸 확인 할 수 있어요
원하는 답변이었어요 감사합니다.
자바로 구성된 플러그인이라면, 플러그인에 intent 필터를 걸어, 원하는 인텐츠가 들어왔을 때 플러그인의 특정 기능이
동작하게 하는 방식으로 구상하시면 되고,
동영상 플레이어 같이 native 코드로 구성된 플러그인은
libs/arm-ebi 같은 폴더에 so파일을 넣은 플러그인 어플을 만들어 설치한 후
실제 사용하는 어플에서 플러그인 so 가 설치된 절대 경로 즉
/data/data/플러그인 패키지명/lib 에 있는 플러그인 so를
System.load를 사용하여 로드 하면 됩니다.