2017-09-21 1 views
0

모바일 프로젝트의 지속적인 통합의 일환으로 내 CentOS 7 컴퓨터에 설치된 Android 빌드 도구를 설치하려고합니다. Android 빌드 도구가 Centos7에 설치되지 않았습니다.

우리는 (에 대한 기업의 프록시와
1) 내가 ~/.gradle/gradle.properties에 (gradle.properties에서 프록시 정보를 설정/등/환경
2)에 프록시 변수를 설정 한이 내 모바일 프로젝트)를 구축

나는 안드로이드 SDK

#Download and Install Android SDK. 
mkdir -p /opt/sdk-tools-linux-3859397 
cd /opt/sdk-tools-linux-3859397 
sudo wget https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip 
sudo unzip sdk-tools-linux-3859397.zip 
cd /opt 
sudo chown -R root:root sdk-tools-linux-3859397 
sudo ln -s sdk-tools-linux-3859397 android-sdk 

sudo vim /etc/profile.d/android-sdk-env.sh 

# Set Android SDK Environment Value. 
export ANDROID_HOME="/opt/android-sdk" 
export PATH="$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$PATH" 

sudo source /etc/profile.d/android-sdk-env.sh 


#Update Android SDK 
/opt/android-sdk/tools/bin/sdkmanager "tools" "build-tools;26.0.0" 

빌드 도구의 그 갱신이 걸리면하고 잠시 후 나는이 오류입니다 마지막 단계를 설치하려면 다음 지침을 따랐

Info: Parsing /opt/sdk-tools-linux-3859397/tools/package.xml 
Info: Parsing /opt/sdk-tools-linux-3859397/tools/package.xml 
Info: IOException: https://dl.google.com/android/repository/addons_list-3.xml 
Info: java.net.ConnectException: Connection timed out (Connection timed out) 
Info: IOException: https://dl.google.com/android/repository/addons_list-2.xml 
Info: java.net.ConnectException: Connection timed out (Connection timed out) 
Info: IOException: https://dl.google.com/android/repository/addons_list-1.xml 
Info: java.net.ConnectException: Connection timed out (Connection timed out) 
Warning: Failed to download any source lists! 

내 빌드 서버에서 빌드 도구를 얻는 방법에 대한 아이디어.
질문과 해결책을 살펴 보았지만 많은 사람들이 Android Studio UI를 사용하도록 제안했으며 커맨드 라인을 통해 설치하려고합니다.

은 또한 사전에 Android SDK

/opt/android-sdk/tools/bin/sdkmanager "build-tools;26.0.1" --proxy_host="uname:[email protected]" --proxy_port=8080 

감사에 따라 명령 아래했습니다.

+0

은 네트워크 문제인 것처럼 보입니다. – Henry

+0

네트워크 문제 일 경우, sdk 패키지 자체의 다운로드가 실패했습니다. 프록시를 설정하지 않으면 다운로드가 발생하지 않습니다. 나는 그것을 확인했다. – VVP

+0

왜'sudo chown -R root : root ...'인가? 당신은 모든 사람에게 접근권을 빼앗 았습니다. 보통'/ opt'의 허가는 이런 종류의 일에 좋습니다. 사실, 나는 거기에 NDK를 드롭하고 권한을 변경할 필요가 없었습니다. – jww

답변

0

마지막으로 해결책을 얻었습니다.
나는이 '프록시'서버가 생명을 복잡하게 만들 것이라고 생각합니다. 동료 중 한 명은 cntlm 프록시를 사용하도록 제안했으며 제대로 작동합니다.

/opt/android-sdk/tools/bin/sdkmanager --no_https --proxy=http --proxy_host=127.0.0.1 --proxy_port=3128 "build-tools;26.0.1" 

주 나는 cntlm 설정에 프록시 호스트 및 프록시 포트를 대체 한이 시간 :

CNTLM Proxy Instructions 그럼 내가 명령을 실행 따랐다.

잘 작동합니다.
그러나 시스템 프록시를 설정 한 후에도 여전히 확실하지 않은 이유는 무엇입니까? cntlm 프록시가 필요한 이유는 무엇입니까? 그것은 다른 프록시 위에있는 프록시와 같습니다.

+0

Microsoft는 다른 모든 사람보다 다른 보안 프로토콜 (NTLM)을 사용하기 때문입니다. – Henry

관련 문제