ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 맥북에서 앱 개발하기 - 안드로이드 스튜디오 설치 및 앱 빌드하기
    프로그래밍/ 안드로이드어플만들기 2023. 8. 6. 13:34
    반응형

     

    안드로이드 스튜디오를 맥북에서 처음 사용하게 되면서 과정을 기록해둡니다. 

    안드로이드 스튜디오 다운로드 받는데 맥북은 인텔 칩이나 애플 칩이냐에 따라 설치 파일이 다릅니다. 

    칩 종류는 왼쪽 사과 아이콘 - '이 맥에 대하여' 를 클릭하면 아래와 같이 프로세스 정보를 확인할 수 있습니다. 

    인텔 칩 버전을 다운로드 받았습니다.  

     

     

     

     

    최신 버전의 안드로이드 스튜디오와 그랜들을 업데이트하고 앱을 싱크하자 아래와 같은 에러가 나왔습니다. 

     

    에러 메세지

     

    코드를 저장소에서 가져오고 grandle sync하자 아래와 같은 에러들이 나왔습니다. 

     

    Could not resolve all dependencies for configuration ':app:debugRuntimeClasspath'.
    
    Using insecure protocols with repositories, without explicit opt-in, 
    is unsupported. Switch Maven repository 
    'maven(http://devrepo.kakao.com:8088/nexus/content/groups/public/)' 
    to redirect to a secure protocol (like HTTPS) or allow insecure protocols. 
    See https://docs.gradle.org/7.2/dsl/org.gradle.api.artifacts.repositories.
    UrlArtifactRepository.html#org.gradle.api.artifacts.repositories.UrlArtifactRepository:allowInsecureProtocol for more details.

     

    가능한 해결 방법 


    이 오류 메시지는 Android 프로젝트의 Gradle 설정과 관련된 문제입니다. 구체적으로 "http://devrepo.kakao.com:8088/nexus/content/groups/public/" 에 호스팅된 Maven 저장소와 관련된 문제로 보입니다.

    Gradle 7.2부터는 기본적으로 보안되지 않은 프로토콜(예: HTTP)을 사용하여 저장소를 사용하는 것을 지원하지 않습니다. Gradle은 저장소에서 가져오는 종속성의 무결성과 보안을 보장하기 위해 HTTPS와 같은 보안 프로토콜을 요구합니다.

    이 문제를 해결하기 위해 다음과 같은 옵션이 있습니다:

    1. 보안 URL (HTTPS) 사용: 프로젝트의 Gradle 설정에서 Maven 저장소 URL을 HTTPS로 업데이트합니다. 예를 들어, 새로운 URL이 "https://devrepo.kakao.com:8088/nexus/content/groups/public/" 인 경우, 빌드 파일에서 해당 URL을 업데이트합니다.

    2. **보안 프로토콜 허용 (비권장)**: 저장소에 대해 제어할 수 없고 HTTPS를 지원하지 않는 경우, 해당 저장소에서 보안 프로토콜 사용을 명시적으로 허용할 수 있습니다. 그러나 이렇게 하면 보안 위험을 초래할 수 있으므로 권장하지 않습니다. 이를 위해 다음과 같이 `build.gradle` 파일에 구성을 추가할 수 있습니다:

    ```gradle
       repositories {
           maven {
               url "http://devrepo.kakao.com:8088/nexus/content/groups/public/"
               allowInsecureProtocol true
           }
       }
       ```


       다시 말하지만, 보안 프로토콜 허용은 일시적인 해결책으로만 고려해야 하며 가능하다면 안전한 저장소로 마이그레이션하는 것이 좋습니다.

    3. **다른 저장소 확인**: 오류가 특정 저장소와 관련이 없다면, 프로젝트의 Gradle 파일을 검토하여 보안되지 않은 프로토콜을 사용하는 다른 저장소가 있는지 확인하고 해당 저장소도 HTTPS를 사용하도록 업데이트합니다.

    기억해야 할 점은 보안 프로토콜을 사용하는 것이 프로젝트의 종속성의 무결성과 보안을 보호하는 데 중요하다는 것입니다. 가능하다면 저장소를 HTTPS로 업데이트하는 것이 가장 좋습니다. 저장소에 대해 제어할 수 있다면, 저장소 관리자에게 HTTPS 지원을 요청하는 것이 좋습니다.

     

     

     

     

    에러 수정 

     

    build.gradle 에서 문제가 된 url을 http->https로 변경하였더니 정상적으로 싱크가 되었다. 

     

    allprojects {
        repositories {
            google()
            jcenter()
            maven { url 'https://devrepo.kakao.com:8088/nexus/content/groups/public/' }
        }
    }

     

     

     

     

     

     

    728x90
    반응형
Designed by Tistory.