안드로이드 Trouble Shooting



1. Multiple substitutions specified in non-positional format error

위와 같은 문제는 진저브레드로 SDK 업데이트 시strings.xml 에 문자열 포맷에 순서가 지정되지 않아서
나타나는 문제입니다.
<string name="test_string">%s %s</string> 와 같은 형식을
<string name="test_string">%1$s %2$s </string>으로 변경하시면 됩니다.

2. Froyo의 응용프로그램 SD 카드로 지원을 위한 세팅

AndroidManifest.xml 에 <manifest .. > 엘리먼트에 android:installLocation 을 지정하면 됩니다.
internalOnly, preferExternal, auto 가 있는데 preferExternal롤 선택하면 설치 시 SD카드에 저장됩니다.

3. WebView 에서 html을 생성하여 loadData 하는 경우 <pre> tag가 먹지 않는 경우

loadData 대신 loadDataWithBaseURL()을 사용하면 임시방편으로 <pre>를 사용할 수 있다.


4.Failed Binder Transaction

Activity간의 Data를 이동하기 위해 Intent에 Parcelable 객체를 넘기는 경우가 있는데
이 크기가 대충 100kb를 넘으면 Failed Binder Transaction 이라고 로그가 찍히고 실제 데이터는 전달되지 않는다.
데이터 사이즈를 줄이거나 파일로 저장해서 넘기는 방법이 필요하다

5. 쿼티 키패드를 열었을 경우 Activity가 다시 호출 되는 현상을 막는 법

AndroidManifest.xml 파일에 activity를 정의할 때 android:configChange="keyboard|Hidden|Orientation" 을 추가하면 된다.

6. ndk-build 시 발생하는 에러

- missing separator. Stop 에러일 경우 :
Path에 대소문자를 확인한다.
특히나 cygwin 일 경우 cd 명령어로는 대소문자 구분없이 디렉토리가 바뀌나 ndk-build 명령어에 들어가는 path에는 대소문자가 정확하여야 한다.
- base operand of '->' has non-pointer type ' _JNIEnv' 에러 일 경우
단순히 c 문법의 소스 확장자를 cpp로 변경할 시에는 몇 가지 수정해야 하는 사항이 있는데
그 중 하나가 c의 (*env)-> 이런 형식을 cpp의 env-> 로 변경하여야 한다.
chaoskcuf

트랙백 주소 : http://chaoskcuf.com/trackback/294

댓글을 달아 주세요

Powerd by Textcube, designed by criuce
rss