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 17409
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 15824
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 18441
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 23987
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 25325
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 20730
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 41288
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 176653
83 High-DPI를 적용한 윈도우 10으로 빠르게 마이그레이션 하기 관리자 2020.01.07 353
82 [델파이 안드로이드 64비트 오류 수정] TInAppPurchase 컴포넌트 수정 file 김원경 2020.03.18 352
81 [고객사례-유틸리티, C++빌더] Reg Organizer - 시스템 레지스트리 구성&최적화 유틸리티 관리자 2020.01.20 352
80 [발표자료] 20180621 부산 세미나-What's NEW!! RAD스튜디오: 최신 OS지원과 플랫폼 확장 방안 file 관리자 2018.06.25 352
79 [엠바카데로 Feature Friday][개발팁] 윈도우 10에서 VCL로 높은 DPI 애플리케이션 개발하기 관리자 2019.06.28 351
» RAD Studio 10.3.3 안드로이드 앱에서 센서 컴포넌트 사용시 링크 오류 해결방법 김원경 2020.03.18 348
77 [고객사례-유틸리티, 델파이] Navuu 관리자 2020.03.09 348
76 이 달의 기술자료 - 2019년 08월 험프리 2019.07.26 345
75 개발. 공유. 영감. – 엠바카데로 총괄 매니저가 전하는 메세지 (2020.11) 관리자 2020.12.01 344
74 [DelphiFeeds.com 리뉴얼] 새롭게, 델파이 개발자들에게 매우 유용한 뉴스 피드를 모아서 제공합니다. 관리자 2020.11.19 344
73 [개발팁] 오래된 레거시 델파이, C++ 애플리케이션을 최신 스타일의 초고속 앱으로 마이그레이션하기 관리자 2020.10.15 344
72 이 달의 기술자료 - 2020년 11월 file 험프리 2020.10.27 343
71 AtoZed – IntraWeb 15 Personal 관리자 2020.09.01 341
70 [UX Summit 요약] 애플리케이션을 개발할 때 데스크톱부터 개발해야 하는 이유 (Why Desktop First to Develop an Application) 관리자 2020.11.17 340
69 [10.4 시드니][업데이트 1] 새로운 IDE 기능들 관리자 2020.10.08 340
68 [베를린] GetIt 속성값을 별도의 옵션창에서 관리할 수 있습니다. 관리자 2016.05.30 339
67 RAD Studio IDE에 툴 추가하기 file 김원경 2020.03.17 337
66 [다시보기] 전세계 개발자를 위한 컨퍼런스! CodeRage 2018 file 관리자 2018.11.29 337
65 [베를린] Eddystone 비콘을 사용할 수 있습니다. 관리자 2016.05.30 337
64 이 달의 기술자료 - 2019년 09월 file 험프리 2019.08.28 335