마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

서비스를 이용한 호출과 라이브러리 링크를 통한 호출의 차이점이 있나요?

+1 추천
안녕하세요

이상한 문제점이 있어 이렇게 질문을 드립니다.

 

SDCARD에 저장이 되지 않는 문제 문제였습니다.

A앱에서 CDF.so(앱 외부 라이브러리) 링크를 통한 파일 생성하는 app인데 sdcard 쓰기에 대한 퍼미션을 줘도 권한이 없어 저장이 불가능 합니다.

 

사실 CDF.so는 이전의 B 앱에의해 설치된 so이며 이전엡은 해당 작업을 서비스를 통해 하였습니다. 물론 SDCARD에 저장도 가능했습니다.

A -> CDF.so -> sdcard 저장실패

B-> bb service -> CDF.so -> sdcard 저장 가능

 

tmp폴더에 생성해보니 둘다 생성이 잘 되지만 sdcard에 저장이 되지 않는 쪽은 owner 가 기존 것이랑 다른 media 로 나옵니다.

 

여기서 A앱을 B에서 사용하는 bb service로 연결한다면 owner가 A와 같이 되고 저장도 잘 되는지... 모르겠네요.

어떻게 하면 sdcard에 정상적으로 저장 될까요...
goandroid (150 포인트) 님이 2014년 7월 17일 질문

1개의 답변

0 추천

안녕하세요.

혹시 KK이후의의의 AOSP를 사용하시는지요?

KK 이후부터 External Sdcard에 대한 정책이 바뀌었습니다. 다음 링크 참조

http://source.android.com/devices/tech/storage/http://www.androidcentral.com/kitkat-sdcard-changes

조금 더 얘기드리자면 /system/core/include/private/android_filesystem_config.h 에서 SDCARD_R / SDCARD_RW 그룹에 대한 접근 권한이 바뀌면서 external storage에서도 app-private에만 write가 허용되게 되었습니다.

fanoyong (1,440 포인트) 님이 2014년 7월 19일 답변
...