자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Firemonkey APP 비정상 종료관련
2017.08.04 08:35
안녕하세요. 현재 국내 모통신사에서 개발한 STT엔진을 가지고 안드로이드 버젼으로 테스트 모듈을 작성하고 있는데 오류로 인해서 기술 도음을 받고자 질의 드립니다.
현재 증상은 uses-permission 옵션에 RCORD_AUDIO 설정하고 해당 라이브러리 함수를 호출하면 App이 예기치 않게 종료되고 있습니다. 그러나 Android Studio에서는 정상적으로 되고 있어서 이에 어떤 문제로 오류가 발생하는지 원인을 알 수 없는 상황입니다. 해당 라이브러리 및 테스트 소스를 첨부파일로 첨부합니다.
개발환경 : XE10.2
댓글 2
-
험프리
2017.08.04 09:24
-
hocraft
2017.08.04 10:51
TSpeechLitener는 콜백함수로 생성한 것이 구요.
- http://delphimaniacs.blogspot.kr/2014/12/delphi-android-broadcast-receiver.html (이곳에 내용을 참조했습니다.)
즉, uses-permission에 RECORD_AUDIO 를 설정하지 않고, 실행 할때는 해당 라이브러리로 부터 정확히 에러이벤트를 받았습니다.
현재, 코드상의 오류는 아닌걸로 파악됩니다. 결국 안드로이드 생성된 오브젝트 파일이 안드로이드 기기와의 호환성 문제가 아닌가 의심되는 상황입니다.
Firemonkey APP 비정상 종료관련
2017.08.04 08:35
안녕하세요. 현재 국내 모통신사에서 개발한 STT엔진을 가지고 안드로이드 버젼으로 테스트 모듈을 작성하고 있는데 오류로 인해서 기술 도음을 받고자 질의 드립니다.
현재 증상은 uses-permission 옵션에 RCORD_AUDIO 설정하고 해당 라이브러리 함수를 호출하면 App이 예기치 않게 종료되고 있습니다. 그러나 Android Studio에서는 정상적으로 되고 있어서 이에 어떤 문제로 오류가 발생하는지 원인을 알 수 없는 상황입니다. 해당 라이브러리 및 테스트 소스를 첨부파일로 첨부합니다.
개발환경 : XE10.2
댓글 2
-
험프리
2017.08.04 09:24
-
hocraft
2017.08.04 10:51
TSpeechLitener는 콜백함수로 생성한 것이 구요.
- http://delphimaniacs.blogspot.kr/2014/12/delphi-android-broadcast-receiver.html (이곳에 내용을 참조했습니다.)
즉, uses-permission에 RECORD_AUDIO 를 설정하지 않고, 실행 할때는 해당 라이브러리로 부터 정확히 에러이벤트를 받았습니다.
현재, 코드상의 오류는 아닌걸로 파악됩니다. 결국 안드로이드 생성된 오브젝트 파일이 안드로이드 기기와의 호환성 문제가 아닌가 의심되는 상황입니다.
모바일 개발 시 잘못된 메모리 사용은 치명적으로, 앱의 크러시(비정상 종료)가 발생합니다.
첨부된 코드를 잠까 봤는데요.
자바 클래스를 래핑(Wrapping)한 델파이 클래스로 객체 생성 시 .Create로 생성한 부분이 있습니다.
(Main.pas 108 Line - SL := TSpeechLitener.Create(Self);)
저의 경우 자바 클래스의 경우 TSpeachLitener.JavaClass.Init;로 생성을 했던 기억이 나네요. 한번 살펴보시기 바랍니다.
(나머지 부분은 코드만 봐서는 잘 모르겠네요^^)
그리고, 오류가 발생하는 정확한 지점을 먼저 파악하시기 바랍니다.
안드로이드 디바이스 연결 후 디버깅 모드로 동작하시고, 문제가되는 기능에 브레이크 포인트 추가 후 한라인씩 디버깅하며 문제가 되는 지점을 파악하시기 바랍니다.
문제 지점 파악 후 해당 코드를 의심하셔야 문제해결이 수월할 것으로 생각됩니다.
참고로 제가 자바 라이브러리(*.jar)와 연동한 내용을 정리한 문서가 있으니 참고하시기 바랍니다.
http://tech.devgear.co.kr/delphi_news/431533