본문 바로가기

에러

[안드로이드] com.android.dex.DexIndexOverflowException 안드로이드를 개발하다 보면, 많은 오픈 라이센스 라이브러리를 사용하게 됩니다.문제점은 이 라이브러리에 기능적으로 문제가 없더라도 Android Studio에서 빌드를 하게 되면 아래와 같은 에러가 뜨면서 빌드가 되지 않습니다.com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536 이유는 구글에서 메소드 갯수에 제한을 두고 있기 때문에 그 갯수를 넘으면 빌드가 되지 않습니다. 그래서 위와 같은 에러가 발생했을 때는 라이브러리를 줄일수 있을 만큼 줄이는게 해결 책입니다. 아마 가장 많이 발생하는 부분은 google service를 사용할 때 입니다.build.gradle 파일에 google service를 추가할때 아래와 .. 더보기
[ Android ] not enough memory for AudioTrack SoundPool객체를 사용할 때 볼 수 있는 에러 이다. 이 에러는 SoundPool에서 지정한 크기보다 더 많이 사용했다는 의미로써! 더 이상 사용을 하지 않거나 초기화를 해줘야 한다는 말이다. 우선 간단한 SoundPool 사용한 소스에서 http://gogorchg.tistory.com/entry/Android-SoundPool-%EC%8B%9C%EC%9E%91-%EB%B0%8F-%EC%A0%95%EC%A7%80 playSound함수를 사용할 때는 문제가 생기지 않지만, playLoopSound함수를 사용할 때가 문제가 된다. 만약 Loop함수로써 계속 메모리를 잡고 있는 상태에서 playSound함수를 계속 사용하면 메모리에 쌓여버려서 위와 같은 에러가 보이게 된다. 그래서 Loop함수를 사용하.. 더보기
[ Android ] 비트맵에 이미지나 뭔가를 그릴 때 뜨는 에러! java.lang.IllegalStateException: Immutable bitmap passed to Canvas constructor Bitmap bitmap = BitmapFactory.decodeFile(..); Canvas canvas = new Canvas(bitmap); canvas.save(); canvas.drawbitmap(...); ... canvas.restore(); 위 와 같은 형식에 소스에서 디버깅을 하면 회색 네모상자의 에러가 나옵니다. BitmapFactory에서 불러온 이미지는 수정이 불가능 하다고 하네요. 크기나 뭐 옵션 같은 것은 줄 수 있겠지만요^^ 그래서 똑같은 비트맵을 복사함으로써 해결이 됩니다. Bitmap bitmap = BitmapFactory.decod.. 더보기
[Android NDK] NDK Hello 실행하기 출처 : http://micropilot.tistory.com/1522 위 링크로 가시면 문자열 값을 출력하는 것 까지 자세한 정보가 있습니다. 그대로 따라하시면 되는데요. 사이사이에 제가 겪은 문제점들을 적어 놀까 합니다. 1. ../ndk-build 명령어를 쳤더니 위와 같은 에러가 났을 경우. 혹시, android ndk 가 Program files 밑이나 띄어쓰기가 있는 이름 폴더의 하위 폴더 일 경우 인지 확인해보세요. 절대! cygwin 설치에 문제가 아닙니다. 가장 안전한 방법! c:\android-ndk-xxxx로 해놓으시는게 가장 좋을 듯! 2. cygwin 설치 시, ftp://ftp.kaist.ac.kr이 안보일 경우 그냥 아무거나 하셔도 됩니다. 한국 사이트라 다운로드 속도가 빠른 .. 더보기