ProgramingTip

헤드리스 Linux의 "android update sdk"

bestdevel 2020. 10. 14. 08:09
반응형

헤드리스 Linux의 "android update sdk"


헤드리스 Linux 서버에서 Android SDK 플랫폼을 업데이트 / 설치하는 데 성공한 사람이 있습니까? 내가 얻은 것은 다음과 같은 오류입니다.

"update sdk"작업이 실제로 지원되지 않는 것입니다.

~/android-sdk-linux_86/tools$ ./android --verbose update sdk
No command line parameters provided, launching UI.
See 'android --help' for operations from the command line.
Exception in thread "main" java.lang.UnsatisfiedLinkError: no swt-pi-gtk-3550 or swt-pi-gtk in swt.library.path, java.library.path or the jar file
        at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
        at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
        at org.eclipse.swt.internal.gtk.OS.<clinit>(Unknown Source)
        at org.eclipse.swt.internal.Converter.wcsToMbcs(Unknown Source)
        at org.eclipse.swt.internal.Converter.wcsToMbcs(Unknown Source)
        at org.eclipse.swt.widgets.Display.<clinit>(Unknown Source)
        at com.android.sdkuilib.internal.repository.UpdaterWindowImpl.open(UpdaterWindowImpl.java:93)
        at com.android.sdkuilib.repository.UpdaterWindow.open(UpdaterWindow.java:110)
        at com.android.sdkmanager.Main.showMainWindow(Main.java:281)
        at com.android.sdkmanager.Main.doAction(Main.java:251)
        at com.android.sdkmanager.Main.run(Main.java:92)
        at com.android.sdkmanager.Main.main(Main.java:81)

업데이트 : 헤드리스 업데이트가 지원되지 않을 때 질문이 제기되었습니다. 이제 android update sdk --no-ui. 감사합니다!


Android SDK 헤드리스 및 자동 업데이트 는 is-there-a-way-to-automate-the-android-sdk-installation에 설명되어 있습니다.


다음 --no-ui옵션을 사용할 수 있습니다 .

android update sdk --no-ui

자동화 된 라이선스 expect사용하여 모든 라이선스를 수락 할 수 있습니다 ( --accept-license현재이 옵션은 android도구에 완전히 통합되지 않았습니다 .).

expect -c '
set timeout -1;
spawn android - update sdk --no-ui;
expect {
    "Do you accept the license" { exp_send "y\r" ; exp_continue }
    eof
}
'

나는 방금 같은 문제에 부딪쳤다. 그래도 해결 방법을 찾았습니다.

첫 번째는 경찰입니다. 헤드 시스템에 플랫폼을 다운로드하고 플랫폼 하위 디렉터리를 Android sdk / 플랫폼 디렉터리에 복사하면됩니다.

저처럼 다른 Android 개발 환경에 즉시 액세스 할 수없는 경우 Google의 SDK 아카이브로 이동하여 플랫폼이 포함 된 다른 SDK 중 하나를 다운로드 할 수 있습니다. 이렇게하면 Android 1.1 및 1.5 용으로 만 개발할 수 있습니다.

Linux 시스템 용 다운로드는 Android 1.5 r3입니다. 구글의 sdk 다운로드 페이지는 lynx는 당연히 다른 GUI 시스템에서 직접 링크를 설치했습니다.

wget http://dl.google.com/android/archives/android-sdk-linux_x86-1.5_r3.zip

그런 다음 아카이브의 압축을 풀고 플랫폼 sibdir을 최신 SDK 플랫폼 디렉토리로 이동하면됩니다.

android create avd -t 3 -p path/to/avd/dir -n "name"

이렇게하면 지정된 이름과 디렉토리로 1.5 플랫폼 용 AVD가 생성됩니다. avd dir이 없어야합니다. 더 많은 명령을 추가하십시오.

여기 설치 플랫폼이 설치되고 AVD가 생성됩니다. 불행히도 64 비트 서버를 실행하고 Google은 32 비트 도구 만 출시하기 때문에이 시점에서 빌드 시도가 실패했습니다.

이 stackoverflow 질문에 대한 대답에서 이에 대한 해결책을 찾았고 sudo apt-get install ia32-libs32 비트 도구를 실행하는 기능을 활성화하는 데 사용 합니다.

그런 다음 CLI에서 Android 도구를 사용하여 Eclipse 프로젝트 (1.5 이하용)를 개미 빌드 시스템으로 변환하거나 작업을 시작할 때 새 프로젝트를 생성 할 수 있습니다.

도움이 되셨기를 바랍니다!


예, 작동하지만 GUI 라이브러리가 설치되어 있어야하며 표시하려는 X 서버로 DISPLAY가 필요합니다. 지금 CentOS 5.4에서 작동하고 "Server-GUI"절 "서버"설치 옵션을 받았습니다. 그런 다음 표시하려는 시스템에서 "ssh -X"를 사용합니다.


방금 모든 환경 (GUI 또는 비 GUI)에서 업데이트를 수행하는 작은 명령 줄 도구를 만들었습니다. 내가 할 수있는 한 그것이 있어야 할 일을합니다.

명령 줄 도구는 현재 사용 가능한 모든 플랫폼, 추가 기능, 추가 기능, 문서, 샘플 및 도구로 사전 기본 Android SDK를 업데이트합니다. (Maven을 펌웨어 Hudson CI 설치에 필요합니다).

자세한 내용은 여기로 이동하십시오.

http://code.google.com/p/android-sdk-tool

참고 URL : https://stackoverflow.com/questions/2157089/android-update-sdk-on-headless-linux

반응형