인프런 커뮤니티 질문&답변

고라니님의 프로필 이미지
고라니

작성한 질문수

배달앱 클론코딩 [with React Native]

네이버맵 연동하기

nmap 라이브러리 설치 후 build 실패

작성

·

438

·

수정됨

0

  1. 개발 환경 : 윈도우, 안드로이드

  2. 버전

    1. rn : 0.66.5

    2. node : 16

    3. java : 11

    4. 에뮬 : Nexus 5 / SDK 30

    5. gradle : 6.9
      distributionUrl=https\://services.gradle.org/distributions/gradle-6.9-all.zip

    6. gradle plugin : 4.2.2

      classpath("com.android.tools.build:gradle:4.2.2")

  3. 진행 상황

    1. npm i https://github.com/ZeroCho/react-native-naver-map
      라이브러리 설치

    2. build.gradle(project)
      maven {

      url 'https://naver.jfrog.io/artifactory/maven/'

      }
      추가

    3. AndroidManifest.xml


      <meta-data


      android:name="com.naver.maps.map.CLIENT_ID"


      android:value="API 키" />


      추가

  4. 현재 상황에서 오류 내용

.
.
.
info Running jetifier to migrate libraries to AndroidX. You can disable it using "--no-jetifier" flag.
Jetifier found 1001 file(s) to forward-jetify. Using 6 workers...
info JS server already running.
info Installing the app...

> Configure project :app
Reading env from: .env
Build-tool 33.0.0 is missing DX at C:\Users\INJUNG\AppData\Local\Android\Sdk\build-tools\33.0.0\dx.bat
.
.
.
FAILURE: Build failed with an exception.

* What went wrong:
Could not determine the dependencies of task ':react-native-nmap:compileDebugAidl'.
> Installed Build Tools revision 33.0.0 is corrupted. Remove and install again using the SDK Manager.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 7s
  1. 현재 프로젝트 SDK 버전이 강의 시점 버전인 30으로 되어있음

// build.gradle (project)

buildscript {
    ext {
        buildToolsVersion = "30.0.2"
        minSdkVersion = 21
        compileSdkVersion = 30
        targetSdkVersion = 30
        ndkVersion = "21.4.7075529"

하지만 현재(24년07월) https://github.com/ZeroCho/react-native-naver-map 에서 받은 라이브러리의 SDK 버전이 33으로 확인됩니다. 혹시 이것 때문에 문제가 발생 할 수 있을까요?

// node_modules/react-native-nmap/android/build.gradle

apply plugin: 'com.android.library'

buildscript {
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.4.1'
    }
}

android {
    compileSdkVersion rootProject.ext.hasProperty('compileSdkVersion') ? rootProject.ext.compileSdkVersion : 33
    buildToolsVersion rootProject.ext.hasProperty('buildToolsVersion') ? rootProject.ext.buildToolsVersion : "33.0.0"

    defaultConfig {
        minSdkVersion rootProject.ext.hasProperty('minSdkVersion') ? rootProject.ext.minSdkVersion : 16
        targetSdkVersion rootProject.ext.hasProperty('targetSdkVersion') ? rootProject.ext.targetSdkVersion : 33
  1. 시도해 본 것

  1. Android studio SDK 33버전 재설치 - 같은 오류

  2. android 폴더에서 ./gradlew clean - 같은 오류

  3. root 폴더에서 cash 삭제 후 build - 같은 오류

  4. /react-native-naver-map 현재 버전 설치 (npm install react-native-nmap --force)

apply plugin: 'com.android.library'

buildscript {
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.4.1'
    }
}

android {
    compileSdkVersion rootProject.ext.hasProperty('compileSdkVersion') ? rootProject.ext.compileSdkVersion : 28
    buildToolsVersion rootProject.ext.hasProperty('buildToolsVersion') ? rootProject.ext.buildToolsVersion : "28.0.3"

    defaultConfig {
        minSdkVersion rootProject.ext.hasProperty('minSdkVersion') ? rootProject.ext.minSdkVersion : 16
        targetSdkVersion rootProject.ext.hasProperty('targetSdkVersion') ? rootProject.ext.targetSdkVersion : 28
FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:mergeDebugAssets'.
> Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
   > Could not resolve com.naver.maps:map-sdk:3.12.0.
     Required by:
         project :app > project :react-native-nmap
      > Could not resolve com.naver.maps:map-sdk:3.12.0.
         > Could not get resource 'https://naver.jfrog.io/artifactory/maven/com/naver/maps/map-sdk/3.12.0/map-sdk-3.12.0.pom'.   
            > Could not HEAD 'https://landing.jfrog.com/reactivate-server/naver'. Received status code 409 from server: Conflict 

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 11s

-jfrog 저장소에서 naver map 3.12.0을 찾지 못 하는 것 같습니다.

  1. /react-native-naver-map는 특정 버전을 설치 할 수 없어서 강의 시점과 같은 환경으로 설치하지 못했습니다.

  2. /react-native-naver-map도 0.0.66 버전 한 가지라서 버전을 바꾸어 시도해 보지 못 했습니다.

답변 1

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

RN 버전을 0.72나 0.73으로 설치하시는 게 어떨까 싶습니다.

굳이 0.66으로 하시려는 이유가 있으신가요?

아니면 build tool version을 30.0.2에서 33.0.0으로 올리셔도 됩니다.

고라니님의 프로필 이미지
고라니
질문자

잠깐!! 이 명령어를 입력하면 항상 최신 버전의 react를 받아오므로 강좌의 버전(0.66)과 일치하지 않게 됨. 현재 최신 버전은 0.72이라서 상당히 차이가 남. 강좌랑 동일한 버전으로 하지 않으면 많은 스트레스를 받을 수 있음.

최신 버전으로 시작하고 싶었지만 사용하려는 라이브러리 버전 호환 문제를 많이 겪기도 했고 위 문구 때문에 0.66으로 시작했습니다.

project SDK 버전을 올려서 해 보고 성공 여부 상관 없이 0.7X 버전으로 새로 만들어보아야겠습니다. 빠른 답변 감사합니다.

  • 추가로 그동안 0.66 버전을 사용하다 보니 라이브러리 설치 때 마다 강의 레포 package.json에 명시된 버전 (npm i 라이브러리@xxx)으로 설치했는데 0.7X 버전에선 버전 명시 없이 최신 버전으로 설치해도 이상 없을까요?

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

0.73 버전으로 하시면 대부분은 최신 라이브러리로 하셔도 됩니다. 다만 라이브러리 버전이 워낙 빠르게 올라서 장담은 못합니다.

고라니님의 프로필 이미지
고라니

작성한 질문수

질문하기