Android 용 Libgit2 (v0.20.0) (대상 SDK 버전 18, Cyanogenmod 10.1.2를 실행하는 루팅 된 장치에서 디버깅, Android 4.2.2) 및 Libgit2의 버전 번호를 가져 오는 것과 같은 간단한 기능이 JNI를 통해 잘 작동합니다. 나는 git_clone 기능을 사용할 때 그것은 개체/정보 폴더를 만든 후 바로 중지하고이 오류를 반환 : 나는 응용 프로그램에게 WRITE_EXTERNAL_STORAGE
권한을 준안드로이드에서 실행되는 Libgit2가 복제 작업을 수행 할 수 없음 - "권한 설정 실패"오류를 반환합니다.
Error -1 cloning repository - Failed to set permissions on '/storage/sdcard0/it/ptt/.git/objects/info': Operation not permitted
을하지만, 난 여전히 소유자를 제외 할 수 chmod를하지를 추측 파일. 나는 정보 폴더의 사용 권한 모드를 체크 아웃 ADB 쉘을 사용할 때 내가 얻을 :
d---rwxr-x system sdcard_rw 2014-05-15 09:31 info
그리고 pwd.h
기능을 사용하여
u0_a92
수 아래입니다. 내가 안드로이드 관련 문제라고 생각하면 어떻게해야할까요? Libgit2가
p_chmod
으로 전화하는 것을 막을 수있는 간단한 방법이 있습니까? 아니면 그렇게 할 권한을 부여 할 수 있습니까?
* 충돌 * 또는 오류가 발생 했습니까? 충돌이 발생하면 libgit2에서 매우 나쁜 버그가 발생합니다. 오류가 발생하면 안드로이드의 특질입니다. –
오, 죄송합니다. 충돌하지 말았어야합니다. 실제로 충돌하지는 않으며 객체/정보 폴더가 생성 된 직후 저장소 복제가 중지되고 오류가 반환됩니다. 지금 제목을 수정했습니다 – torno
sqlite가 설정에 실패한 것과 유사한 보고서가 있습니다. 안드로이드가 당신을 그렇게시키지 못하는 것처럼 보입니다. 더러운 해결 방법으로'p_chmod()'를 no-op로 정의하거나 안드로이드 용으로 빌드 할 때 오류를 무시할 수 있습니다. 안드로이드 일 수도 있고 FAT 일 수도 있고 아니면 ... –