인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

Inflearn Community Q&A

최우뚝's profile image
최우뚝

asked

Delivery App Clone Coding [with React Native]

Try React Navigation

java가 아닌 .kt에서 code push 에러가 발생합니다.

Written on

·

35

0

error Failed to install the app. Command failed with exit code 1: ./gradlew app:installDebug -PreactNativeDevServerPort=8081 FAILURE: Build failed with an exception. * Where:

Build file '/Users/wootukchoi/FoodDeliveryApp/node_modules/react-native-code-push/android/build.gradle' line: 17 * What went wrong:

A problem occurred evaluating project ':react-native-code-push'.

> Could not find method android() for arguments [build_2tl5hzetictwda5fo4twhoyrv$_run_closure1$_closure2@6264dc0a] on project ':react-native-code-push' of type org.gradle.api.Project. * Try:

 

 

package com.fooddeliveryapp

import com.facebook.react.ReactActivity

import com.facebook.react.ReactActivityDelegate

import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.fabricEnabled

import com.facebook.react.defaults.DefaultReactActivityDelegate

import android.os.Bundle;

import com.microsoft.codepush.react.CodePush

class MainActivity : ReactActivity() {

/**

* Returns the name of the main component registered from JavaScript. This is used to schedule

* rendering of the component.

*/

override fun getMainComponentName(): String = "FoodDeliveryApp"

/**

* Returns the instance of the [ReactActivityDelegate]. We use [DefaultReactActivityDelegate]

* which allows you to enable New Architecture with a single boolean flags [fabricEnabled]

*/

override fun createReactActivityDelegate(): ReactActivityDelegate =

DefaultReactActivityDelegate(this, mainComponentName, fabricEnabled)

override fun getJSBundleFile(): String {

return CodePush.getJSBundleFile()

}

}

 

react-native

Answer 2

0

zerocho님의 프로필 이미지
zerocho
Instructor

지금 어떻게 따라하고 계신가요? 아직 코드푸쉬 나가는 진도가 아니라서요

최우뚝님의 프로필 이미지
최우뚝
Questioner

버전이 다르다보니 java가 아니고 kt로 깔리다보니

인프런 해당강좌의 커뮤니티 답변중에 코드푸쉬로 하라는 답변이있더라구요

그래서 적용했는데 코드푸쉬가 필요하여 적용하였습니다.

zerocho님의 프로필 이미지
zerocho
Instructor

코드푸쉬로 안 하시는 게 좋습니다. 코드푸쉬 코드를 쓰시면 설치할 것들이 좀 있어서요

zerocho님의 프로필 이미지
zerocho
Instructor

https://github.com/ZeroCho/food-delivery-app/blob/master/rn75.md

kt 파일일 경우의 강의노트입니다.

0

안녕하세요, 최우뚝 님. 인프런 AI 인턴입니다.

해당 에러는 React Native 프로젝트의 안드로이드 빌드 중 react-native-code-push 모듈에서 발생하는 문제로 보입니다. android() 메서드를 찾을 수 없다는 에러 메시지는 build.gradle 파일에서 android 블록을 찾을 수 없다는 것을 의미합니다. 이는 gradle 파일이 잘못 구성되었을 수 있음을 의미합니다.

해결 방법:

  1. Gradle 파일의 정합성 확인:

    • /Users/wootukchoi/FoodDeliveryApp/node_modules/react-native-code-push/android/build.gradle 파일을 열어 android 블록의 구성이 제대로 되어 있는지 확인하세요. 예를 들어, build.gradle 파일에서 다음과 같은 형태로 작성되어 있어야 합니다.
      
      android {
       compileSdkVersion rootProject.ext.compileSdkVersion
       ...
      }
      

  2. Gradle Plugin Version 호환성:

    • 사용하고 있는 Gradle과 Android Gradle Plugin의 버전 확인 및 필요한 경우 업데이트를 진행하세요. Gradle 및 Plugin의 최신 버전을 사용하는 것이 좋습니다.
  3. react-native-code-push 모듈 재설치:

    • 문제가 되는 모듈(react-native-code-push)을 한번 삭제한 후 다시 설치해보세요.
      
      npm uninstall react-native-code-push
      npm install react-native-code-push
      

  4. 빌드 캐시 정리:

    • 빌드 캐시를 정리하고 프로젝트를 클린 빌드 해보세요.
      
      cd android
      ./gradlew clean
      cd ..
      npx react-native run-android
      

참고 자료:

과거에 발생했던 유사한 에러에 대한 해결책이 논의된 게시물을 확인할 수 있으니, 참고해보시길 권장합니다.
- 안드로이드빌드 에러 해결하기
- 앱 빌드 오류 질문과 답변

저는 최우뚝 님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

최우뚝's profile image
최우뚝

asked

Ask a question