Blog

1. 구글 계정 회원 가입 및 로그인



2. 개발자 계약 수락

  • 개발자 계약 수락에 동의를 합니다.

  • 다른 계정을 사용할 경우 다른 계정으로 로그인을 선택합니다.





3. 등록 수수료 결제

  • 결제에 필요한 정보를 입력합니다.

  • 결제 금액은 $25이며, 한번만 청구됩니다.

  • 결제가 가능한 카드는 Mastercard, Visa, American Express, Visa Electron입니다.





4. 계정 세부 정보 입력
  • 플레이스토어에 표시될 정보를 입력합니다.

  • 전화번호는 게시된 앱에 문제가 있을 때 연락을 받은 전화번호를 입력 해 주세요.

  • 전화번호는 국가 번호를 포함하여 입력 해 주세요.

  • 예) 010-1234-5678 => "+82-10-1234-5678"로 입력




5. 등록 완료

'Programing > Android' 카테고리의 다른 글

구글 플레이스토어 계정 등록  (0) 2018.01.15
샤오미 개발자 모드 활성화 하기  (1) 2017.06.26

Comment +0

react-native 개발 도중 프로젝트를 복사하거나 이동하는 경우가 발생하는데, 이 때 폴더를 복사 또는 이동한다.

안드로이드에서는 별다른 오류가 발생하지 않고 잘 빌드가 되는데, iOS는 아래 오류가 발생하면서 빌드가 실패한다.


error: PCH was compiled with module cache path '/aaa/ios/build/ModuleCache/15IKYQ49IXHLP', but the path is currently '/bbb/ios/build/ModuleCache/15IKYQ49IXHLP'

1 error generated.


프로젝트 폴더에서 ios/build/ModuleCache 폴더를 삭제를 한 후 다시 빌드를 시도를 하면 정상적으로 빌드가 진행이 된다.

Comment +0

git 사용 도중 gitignore 파일을 수정한 뒤 적용이 되지 않을 때 아래 명령 입력


git rm -r --cached .
git add .
git commit -m "fixed untracked filess"


React Native에서 사용 중인 gitignore 파일

gitignore


Comment +0

* Android

 

Icon

Splash (Portrait)

LDPI

36 x 36

200 x 320

MDPI 

48 x 48

320 x 480

HDPI

 72 x 72

 480 x 800

XHDPI

 96 x 96

720 x 1280

XXHDPI

 144 x 144

960 x 1600

XXXHDPI

 192 x 192

1280 x 1920

Store

512 x 512

 


* iOS 

 

Icon

Splash (Portrait)

iPhone 4 이하

120 x 120 (@2x,  Required)

180 x 180 (@3x)

320 x 480

iPhone 4S

640 x 960

iPhone 5/5S/SE

640 x 1136

iPhone 6/7/8

750 x 1334

iPhone 6/7/8 Plus

1242 x 2208

iPhone X 

 1125 X 2436

iPad 

76 x 76

768 x 1024

iPad Retina 

152 x 152 (@2x, Required)

1536 x 2048

 iPad 9.7"

 iPad mini 4 7.9"

iPad Pro  10.5"

 167 X 167 (@3x)

1668 X 2224 

iPad Pro 12.9"

2048 x 2732

 App Store

 1024 X 1024

 

https://developer.apple.com/library/content/qa/qa1686/_index.html





* 앱 아이콘 생성

http://ticons.fokkezb.nl/ [추천]

http://icon.angrymarmot.org/

http://pgicons.abiro.com/

Comment +0

* 개발자 모드 활성화 하기

 1. 먼저 "설정 - 휴대전화 정보"로 들어갑니다.

 2. "MIUI 버전"을 7번 눌러 주면, 개발자 모드가 활성화 됩니다.



* USB 디버깅 및 설치 활성화 하기

 1. "설정 - 추가 설정-개발자 옵션"으로 들어갑니다.

 2. 상단에 있는 "개발자 옵션"은 활성화가 되어 있어야 합니다.

 3. "USB 디버깅", "USB로 설치", "USB 디버깅(보안 설정)"을 차례로 활성화 시켜줍니다.

4. "MIUI 최적화 켜기"를 끄고 재부팅을 하면 됩니다.

- 이를 끄지 않을 경우 아래 오류와 같이 USB로 앱 설치가 되지 않는 문제가 생깁니다.

- 아래 오류는 react native 에서 빌드한 오류이며, Android Studio에서도 동일한 오류가 발생합니다.


Execution failed for task ':app:installDebug'.

> com.android.builder.testing.api.DeviceException: com.android.ddmlib.InstallException: Failed to establish session




'Programing > Android' 카테고리의 다른 글

구글 플레이스토어 계정 등록  (0) 2018.01.15
샤오미 개발자 모드 활성화 하기  (1) 2017.06.26

Comment +1

한동안 손을 안 댄 프로젝트를 수정할 일이 생겼다.

수정을 다하고 빌드를 해서 실행을 할려고 하니 아래와 같은 에러가 발생 하였다.


JS server already running.

Running /Users/asata/Library/Android/sdk/platform-tools/adb -s LGF460L17e67912 reverse tcp:8081 tcp:8081

Building and installing the app on the device (cd android && ./gradlew installDebug...

google-services plugin could not detect any version for com.google.android.gms or com.google.firebase, default version: 9.0.0 will be used.

please apply google-services plugin at the bottom of the build file.


FAILURE: Build failed with an exception.


* What went wrong:

A problem occurred configuring project ':app'.

> A problem occurred configuring project ':react-native-picker'.

   > Could not resolve all dependencies for configuration ':react-native-picker:_debugCompile'.

      > Could not find com.android.support:appcompat-v7:25.3.1.

        Searched in the following locations:

            file:/Users/asata/.m2/repository/com/android/support/appcompat-v7/25.3.1/appcompat-v7-25.3.1.pom

            file:/Users/asata/.m2/repository/com/android/support/appcompat-v7/25.3.1/appcompat-v7-25.3.1.jar

            https://jcenter.bintray.com/com/android/support/appcompat-v7/25.3.1/appcompat-v7-25.3.1.pom

            https://jcenter.bintray.com/com/android/support/appcompat-v7/25.3.1/appcompat-v7-25.3.1.jar

            file:/Users/asata/Project/ReactNative/MyGumiMap/node_modules/react-native/android/com/android/support/appcompat-v7/25.3.1/appcompat-v7-25.3.1.pom

            file:/Users/asata/Project/ReactNative/MyGumiMap/node_modules/react-native/android/com/android/support/appcompat-v7/25.3.1/appcompat-v7-25.3.1.jar

            file:/Users/asata/Library/Android/sdk/extras/android/m2repository/com/android/support/appcompat-v7/25.3.1/appcompat-v7-25.3.1.pom

            file:/Users/asata/Library/Android/sdk/extras/android/m2repository/com/android/support/appcompat-v7/25.3.1/appcompat-v7-25.3.1.jar

            file:/Users/asata/Library/Android/sdk/extras/google/m2repository/com/android/support/appcompat-v7/25.3.1/appcompat-v7-25.3.1.pom

            file:/Users/asata/Library/Android/sdk/extras/google/m2repository/com/android/support/appcompat-v7/25.3.1/appcompat-v7-25.3.1.jar

        Required by:

            MyGumiMap:react-native-picker:unspecified > com.facebook.react:react-native:0.42.3-atlassian-1

      > Could not find com.android.support:recyclerview-v7:25.3.1.

        Searched in the following locations:

            file:/Users/asata/.m2/repository/com/android/support/recyclerview-v7/25.3.1/recyclerview-v7-25.3.1.pom

            file:/Users/asata/.m2/repository/com/android/support/recyclerview-v7/25.3.1/recyclerview-v7-25.3.1.jar

            https://jcenter.bintray.com/com/android/support/recyclerview-v7/25.3.1/recyclerview-v7-25.3.1.pom

            https://jcenter.bintray.com/com/android/support/recyclerview-v7/25.3.1/recyclerview-v7-25.3.1.jar

            file:/Users/asata/Project/ReactNative/MyGumiMap/node_modules/react-native/android/com/android/support/recyclerview-v7/25.3.1/recyclerview-v7-25.3.1.pom

            file:/Users/asata/Project/ReactNative/MyGumiMap/node_modules/react-native/android/com/android/support/recyclerview-v7/25.3.1/recyclerview-v7-25.3.1.jar

            file:/Users/asata/Library/Android/sdk/extras/android/m2repository/com/android/support/recyclerview-v7/25.3.1/recyclerview-v7-25.3.1.pom

            file:/Users/asata/Library/Android/sdk/extras/android/m2repository/com/android/support/recyclerview-v7/25.3.1/recyclerview-v7-25.3.1.jar

            file:/Users/asata/Library/Android/sdk/extras/google/m2repository/com/android/support/recyclerview-v7/25.3.1/recyclerview-v7-25.3.1.pom

            file:/Users/asata/Library/Android/sdk/extras/google/m2repository/com/android/support/recyclerview-v7/25.3.1/recyclerview-v7-25.3.1.jar

        Required by:

            MyGumiMap:react-native-picker:unspecified > com.facebook.react:react-native:0.42.3-atlassian-1

      > Could not find com.atlassian.mobile.video:okhttp-ws-compat:3.7.0-atlassian1.

        Searched in the following locations:

            file:/Users/asata/.m2/repository/com/atlassian/mobile/video/okhttp-ws-compat/3.7.0-atlassian1/okhttp-ws-compat-3.7.0-atlassian1.pom

            file:/Users/asata/.m2/repository/com/atlassian/mobile/video/okhttp-ws-compat/3.7.0-atlassian1/okhttp-ws-compat-3.7.0-atlassian1.jar

            https://jcenter.bintray.com/com/atlassian/mobile/video/okhttp-ws-compat/3.7.0-atlassian1/okhttp-ws-compat-3.7.0-atlassian1.pom

            https://jcenter.bintray.com/com/atlassian/mobile/video/okhttp-ws-compat/3.7.0-atlassian1/okhttp-ws-compat-3.7.0-atlassian1.jar

            file:/Users/asata/Project/ReactNative/MyGumiMap/node_modules/react-native/android/com/atlassian/mobile/video/okhttp-ws-compat/3.7.0-atlassian1/okhttp-ws-compat-3.7.0-atlassian1.pom

            file:/Users/asata/Project/ReactNative/MyGumiMap/node_modules/react-native/android/com/atlassian/mobile/video/okhttp-ws-compat/3.7.0-atlassian1/okhttp-ws-compat-3.7.0-atlassian1.jar

            file:/Users/asata/Library/Android/sdk/extras/android/m2repository/com/atlassian/mobile/video/okhttp-ws-compat/3.7.0-atlassian1/okhttp-ws-compat-3.7.0-atlassian1.pom

            file:/Users/asata/Library/Android/sdk/extras/android/m2repository/com/atlassian/mobile/video/okhttp-ws-compat/3.7.0-atlassian1/okhttp-ws-compat-3.7.0-atlassian1.jar

            file:/Users/asata/Library/Android/sdk/extras/google/m2repository/com/atlassian/mobile/video/okhttp-ws-compat/3.7.0-atlassian1/okhttp-ws-compat-3.7.0-atlassian1.pom

            file:/Users/asata/Library/Android/sdk/extras/google/m2repository/com/atlassian/mobile/video/okhttp-ws-compat/3.7.0-atlassian1/okhttp-ws-compat-3.7.0-atlassian1.jar

        Required by:

            MyGumiMap:react-native-picker:unspecified > com.facebook.react:react-native:0.42.3-atlassian-1


* Try:

Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.


BUILD FAILED


Total time: 11.786 secs

Could not install the app on the device, read the error above for details.

Make sure you have an Android emulator running or a device connected and have

set up your Android development environment:

https://facebook.github.io/react-native/docs/android-setup.html


오류가 났다는 노드 모듈에도 별 문제가 없는데도 이런 에러가 발생한다.

react native 버전을 올려도 별 차이가 없었고,

찾다찾다보니 android/build.gradle  파일을 수정을 하면 된다고 한다.


allprojects {

    configurations.all {

        resolutionStrategy {

            eachDependency { DependencyResolveDetails details ->

                if (details.requested.group == 'com.facebook.react' && details.requested.name == 'react-native') {

                    details.useVersion "0.36.0" // Your real React Native version here

                }

            }

        }

    }

}


굵게 표시한 부분에 현재 react native 버전을 기재를 해 주고

다시 빌드를 진행을 하면 정상적으로 설치되는 것을 확인 할 수 있다.

Comment +0

* React-Native 개발 도중 npm에서 필요한 모듈을 설치 중 pod 하여서 빌드를 하는데 오류가 발생


ld: framework not found React 

clang: error: linker command failed with exit code 1 (use -v to see invocation)




0. xCode에서 오류가 발생한 프로젝트 열기

 - Pod 사용시, ~~~.xcworkspace를 열기

1. 프로젝트 설정 화면을 선택

2. 수정할 Targets 선택

3. Build Settings 선택

4. Other Linker Flags 내용 수정

 -lc++, -ObjC 를 추가

Comment +0

Android SDK를 업데이트를 한 뒤 아래와 같은 에러가 발생 할 수 있습니다.


저는 Google Play Service를 업데이트를 하다보니 발생하였네요;


:app:preDexDebug

:app:dexDebug

Unknown source file : UNEXPECTED TOP-LEVEL EXCEPTION:

Unknown source file : com.android.dex.DexException: Multiple dex files define Lcom/google/android/gms/internal/zzqf;

Unknown source file : at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596)

Unknown source file : at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554)

Unknown source file : at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535)

Unknown source file : at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)

Unknown source file : at com.android.dx.merge.DexMerger.merge(DexMerger.java:189)

Unknown source file : at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:502)

Unknown source file : at com.android.dx.command.dexer.Main.runMonoDex(Main.java:334)

Unknown source file : at com.android.dx.command.dexer.Main.run(Main.java:277)

Unknown source file : at com.android.dx.command.dexer.Main.main(Main.java:245)

Unknown source file : at com.android.dx.command.Main.main(Main.java:106)


:app:dexDebug FAILED


FAILURE: Build failed with an exception.


* What went wrong:

Execution failed for task ':app:dexDebug'.

> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home/bin/java'' finished with non-zero exit value 2


* Try:

Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.


BUILD FAILED


동일한 이름의 라이브러리를 중복으로 불러와 발생하는 문제입니다. 


저는 com.google.firebase:firebase-core를 사용하는 node module이 여러 개가 있었는데, 각각 필요한 버전이 달라서 오류가 발생하였습니다.


해결 방법은 문제가 발생하는 node module를 지우고 다시 설치를 하도록 합니다.


rnpm unlink 

npm cache clean

npm install

rnpm link


이 때 각 node module의 android/build.gradle 에서 dependencies 버전을 수정을 해 주셔야 합니다.


가급적 동일한 버전을 사용하도록 수정을 하시고 다시 빌드를 진행을 하면 됩니다.


Comment +0

react-native init를 하여 프로젝트를 초기화를 할 경우 항상 최신 버전으로 프로젝트가 세팅이 된다.


하지만 구 버전으로 프로젝트를 초기화를 해야 할 경우 아래 방법을 이용한다.


먼저 아래 package를 설치하도록 한다.


npm i -g rninit


설치가 완료가 되면 바로 사용이 가능하다.


Project Name에 원하는 이름을 넣고 실행하면 원하는 버전으로 react native project가 세팅된다.


rninit init [Project Name] --source react-native@0.28


Comment +0

React Native 에서 GIF 이미지를 출력할때 일반 이미지 출력과 동일하게 Image를 이용하여 출력을 하면 됩니다.


<Image source={require('이미지 경로(local)')} />


<Image source={{url : '이미지 경로(web)'}} />


이렇게 넣었는데 화면에 공간만 차지하고 이미지가 나오지 않는 문제가 있습니다.


이 때 android/app/src/build.gradle 파일에 아래 내용을 추가 해주어야 합니다.


dependencies {

..................


compile "com.facebook.fresco:animated-gif:0.10.0"


..................

}



그리고 다시 build를 하면 정상적으로 출력되는 이미지를 확인 할 수 있습니다.



Comment +0