Kazuhiro INOUE  블로그 글을 번역한 것입니다

 

·  본문 링크 https://community.idera.com/developer-tools/b/blog/posts/issue-with-the-sensor-components-for-android-in-rad-studio-10-3-3-ja

RAD Studio 10.3.3  안드로이드 앱에서 센서 컴포넌트 사용시 링크 오류 해결 방법

SDK 버전 26에만  있는 심볼을 참조하는 Androidapi.Sensor.pas 문제로 인해 어플리케이션에서 SDK 버전 22을 참조하면 링크 오류가 발생합니다.

 

C++ 빌더 10.3.3을 이용하여 TLocationSensor 컴포넌트를 사용하여 안드로이드 애플리케이션을 빌드하는 경우, [ldandroid Error] "ld" exited with code 1 이런 오류 메세지가 발생합니다. 델파이에서 심볼 이름 (예를 들어, 스크립트를 사용하여 Grijjy 사의 블로그에 기재된 자체 오류코드와 같은 Android 타사의 호출 스택 라이브러리에 의해 생성 된 심볼을)를 일치시키려는 경우 델파이10.3.3에서는 같은 문제로 인해 다른 증상의 링크 오류가 발생합니다. 

 

이 문제는 Androidapi.Sensor.pas 파일의 일부 심볼이 Android SDK 버전 26에만 도입되어 있는데  어플리케이션은 이러한 심볼들이 없는 버전 22에 연결되어 있기때문입니다. 이 오류를 해결하려면 로컬 복사본을 만들고 심볼을 주석 처리하십시오.

 

해결 방법

 

  1. C : \Program Files (x86)\Embarcadero\Studio\20.0\source\rtl\android\에서 Androidapi.Sensor.pas 및

     Androidapi.inc 파일을 찾습니다(다른 위치에 설치 한 경우에는 같은 이름의 파일을 찾습니다.)

 

  2. Androidapi.Sensor.pas과 Androidapi.inc를 프로젝트의 소스 폴더에 복사하고 Androidapi.Sensor.pas만 프로젝트에 추가합니다.

     Androidapi.inc 파일은  Androidapi.Sensor.pas을 빌드하는 데 필요합니다. 

 

  3. Androidapi.Sensor.pas 파일을 열고 다음 심볼의 선언을 찾아 주석 처리합니다.

  • ASensorManager_getInstanceForPackage
  • ASensorManager_getDefaultSensorEx
  • ASensorManager_createSharedMemoryDirectChannel
  • ASensorManager_createHardwareBufferDirectChannel
  • ASensorManager_destroyDirectChannel
  • ASensorManager_configureDirectReport
  • ASensorEventQueue_registerSensor
  • ASensor_isDirectChannelTypeSupported
  • ASensor_getHighestDirectReportRateLevel

  4. 다음 버전(10.4)로 업그레이드 할 때 Androidapi.Sensor.pas과 Androidapi.inc 파일의 로컬 복사본을 프로젝트에서 제거하십시오.

 

[관련 링크]

C++ 빌더의 안드로이드 위치 센서 문제: http://blog.blong.com/2020/02/cbuilders-android-location-sensor-woes.html

번호 제목 글쓴이 날짜 조회 수
공지 [DelphiCon 요약] 코드사이트 로깅 실전 활용 기법 (Real-world CodeSite Logging Techniques) 관리자 2021.01.19 22115
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 20659
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 22701
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 28461
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 29722
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 25071
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 46008
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 181771
1183 [고객사례-사물인터넷, 앱, 델파이] 로봇청소기 제어 앱 '니토 툴리오' 관리자 2020.03.24 465
» RAD Studio 10.3.3 안드로이드 앱에서 센서 컴포넌트 사용시 링크 오류 해결방법 김원경 2020.03.18 373
1181 [델파이 안드로이드 64비트 오류 수정] TInAppPurchase 컴포넌트 수정 file 김원경 2020.03.18 377
1180 [기술백서] 다양한 팀 '협업' 방법론과 개발 방식 관리자 2020.03.18 679
1179 RAD Studio IDE에 툴 추가하기 file 김원경 2020.03.17 376
1178 RAD 서버 : 웹 속성을 폴더에 매핑하기 file 김원경 2020.03.17 1582
1177 델파이 개발자 관점에서 본 윈도우 개발 file 김원경 2020.03.13 760
1176 C++ 언어와 C++빌더의 23년! 관리자 2020.03.13 626
1175 MS 비주얼 스튜디오 C++을 C++빌더와 함께 활용하기 관리자 2020.03.12 656
1174 Swagger / YAML 및 RESTful API의 자체 문서화 김원경 2020.03.11 1798
1173 [고객사례-유틸리티, 델파이] Navuu 관리자 2020.03.09 396
1172 [고객사례-유틸리티, 델파이] SupRemo - 개인방송, 화상회의 솔루션 관리자 2020.03.09 916
1171 RAD 서버에 Swagger UI 임베이딩 김원경 2020.03.09 595
1170 검사(Audits)와 측정(Metrics) 기능을 이용 소스코드 표준과 규약 준수를 측정하고 개선할 수 있습니다. 험프리 2020.03.06 309
1169 TEMSDataSetResource 컴포넌트를 사용하여 RAD 서버의 마스터-디테일 데이터 구현하기 file 김원경 2020.03.06 459
1168 RESTful 마스터-디테일 데이터를 사용하는 클라이언트 애플리케이션을 TRESTResponseDataSetAdapter를 사용하여 개발하기 file 험프리 2020.03.03 644
1167 [10.4 프리뷰] 베타 서비스 시작 & 새 기능 미리 보기 관리자 2020.03.03 1666
1166 델파이 25주년 기념 무료 크로스 플랫폼 샘플 앱 25개 선정(델파이/C++ 샘플 150여종) 험프리 2020.03.02 690
1165 윈도우 10에서의 High DPI 김원경 2020.03.02 1397
1164 이 달의 기술자료 - 2020년 03월 file 험프리 2020.02.28 317