자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Firemonkey 델파이에서 SDK 정보가 증발되는 버그 제보 및 안드로이드 빌드 시 Exec Error 해결방법입니다.
2017.06.16 00:56
본 게시판 사용시 당부 사항
* 이 게시판은 자유롭게 질문을 올리고 자발적으로 답변을 공유하는 게시판입니다.
* 어느 누구도 답변을 달아야만 하는 책임은 없습니다.
* 따라서 질문을 올리실 때에는 최대한 자세하고 정중하게 질문을 올려 주세요.
* 최대한 질문을 자세히 올려야 답변도 자세히 올라 옵니다.
* 본 질문에 답변을 주시는 여러 개발자님들께 미리 감사드립니다.
-----------------------------------------------------------------------------------------------
델파이 사용 중 안드로이드 스튜디오를 추가 설치하는 과정에서, 델파이쪽의 SDK정보가 전부 증발하는 문제가 발생했습니다.
그래서 안드로이드의 Edit SDK 를 통해 SDK정보의 경로를 정상으로 입력했으나 아래와 같은 버그가 발생합니다.
[Exec Error] The command ""\bin\javac" -d "H:\delphi\test\NotificationService\JavaClasses\NotificationService" -Xlint:deprecation -classpath "C:\Users\Public\Documents\Embarcadero\Studio\19.0\PlatformSDKs\android-sdk-windows\platforms\android-24\android.jar";"c:\program files (x86)\embarcadero\studio\19.0\lib\Android\Debug\fmx.jar" -bootclasspath "C:\Users\Public\Documents\Embarcadero\Studio\19.0\PlatformSDKs\android-sdk-windows\platforms\android-24\android.jar" -encoding UTF-8 -target 1.6 -g -source 1.6 .\Android\Debug\NotificationService.java .\Android\Debug\NotificationServiceProxyInterface.java" exited with code 3.
The Command 뒤를 보시면 javac를 참조하지 못하고 있는데, 이부분의 경로는 JDK_PATH/bin/javac 를 참조하는 경로입니다.
그러나 JAVA_HOME 이나 Path의 경로에 jdk 경로를 주어도 찾지를 못합니다.
그 원인은 델파이는 다른 개발툴과 달리 시스템 환경 변수를 전혀 참조하지 않고 자체적으로 구축한 레지스트리에 의존하고 있었으며 다른 항목과 달리 JDK의 경로는 Edit SDK의 Java 항목에서 수정이 불가능합니다.(해당 항목 자체가 폼에 정의가 안되어 있음)
위와 같이 델파이의 레지스트리를 참조해보니 레지스트리 값 전체가 증발하면서 JDKPath도 같이 증발하였으며, 다른 정보는 Edit SDK의 편집으로 잘 등록되어 있으나 JDKPath는 등록가능한 방법이 없어 공란이 된 상태입니다.
저 값을 수정하여 JDK의 디렉토리를 아래와 같이 등록하면 정상적으로 안드로이드 빌드가 됩니다.
경로는 HKCU\Software\Embarcadero\BDS\19.0\PlatformSDKs\AndroidSDK(SDKVer).sdk 입니다.
이부분에 대해 Java 항목에서 JDKPath도 편집가능하게 양식 추가를 건의해주셨으면 합니다.
댓글 2
Firemonkey 델파이에서 SDK 정보가 증발되는 버그 제보 및 안드로이드 빌드 시 Exec Error 해결방법입니다.
2017.06.16 00:56
본 게시판 사용시 당부 사항
* 이 게시판은 자유롭게 질문을 올리고 자발적으로 답변을 공유하는 게시판입니다.
* 어느 누구도 답변을 달아야만 하는 책임은 없습니다.
* 따라서 질문을 올리실 때에는 최대한 자세하고 정중하게 질문을 올려 주세요.
* 최대한 질문을 자세히 올려야 답변도 자세히 올라 옵니다.
* 본 질문에 답변을 주시는 여러 개발자님들께 미리 감사드립니다.
-----------------------------------------------------------------------------------------------
델파이 사용 중 안드로이드 스튜디오를 추가 설치하는 과정에서, 델파이쪽의 SDK정보가 전부 증발하는 문제가 발생했습니다.
그래서 안드로이드의 Edit SDK 를 통해 SDK정보의 경로를 정상으로 입력했으나 아래와 같은 버그가 발생합니다.
[Exec Error] The command ""\bin\javac" -d "H:\delphi\test\NotificationService\JavaClasses\NotificationService" -Xlint:deprecation -classpath "C:\Users\Public\Documents\Embarcadero\Studio\19.0\PlatformSDKs\android-sdk-windows\platforms\android-24\android.jar";"c:\program files (x86)\embarcadero\studio\19.0\lib\Android\Debug\fmx.jar" -bootclasspath "C:\Users\Public\Documents\Embarcadero\Studio\19.0\PlatformSDKs\android-sdk-windows\platforms\android-24\android.jar" -encoding UTF-8 -target 1.6 -g -source 1.6 .\Android\Debug\NotificationService.java .\Android\Debug\NotificationServiceProxyInterface.java" exited with code 3.
The Command 뒤를 보시면 javac를 참조하지 못하고 있는데, 이부분의 경로는 JDK_PATH/bin/javac 를 참조하는 경로입니다.
그러나 JAVA_HOME 이나 Path의 경로에 jdk 경로를 주어도 찾지를 못합니다.
그 원인은 델파이는 다른 개발툴과 달리 시스템 환경 변수를 전혀 참조하지 않고 자체적으로 구축한 레지스트리에 의존하고 있었으며 다른 항목과 달리 JDK의 경로는 Edit SDK의 Java 항목에서 수정이 불가능합니다.(해당 항목 자체가 폼에 정의가 안되어 있음)
위와 같이 델파이의 레지스트리를 참조해보니 레지스트리 값 전체가 증발하면서 JDKPath도 같이 증발하였으며, 다른 정보는 Edit SDK의 편집으로 잘 등록되어 있으나 JDKPath는 등록가능한 방법이 없어 공란이 된 상태입니다.
저 값을 수정하여 JDK의 디렉토리를 아래와 같이 등록하면 정상적으로 안드로이드 빌드가 됩니다.
경로는 HKCU\Software\Embarcadero\BDS\19.0\PlatformSDKs\AndroidSDK(SDKVer).sdk 입니다.
이부분에 대해 Java 항목에서 JDKPath도 편집가능하게 양식 추가를 건의해주셨으면 합니다.
참조 경로라면
델파이 Environment Variables 옵션에서 관련 시스템 환경변수를 override하면 될텐데..
버그가 맞나요?