-
React Native 2023‧02‧28
안드로이드 빌드 오류 - MainApplication.java:60: error: cannot find symbol ReactNativeFlipper.initializeFlipper(this, getReactNativeHost().getReactInstanceManager());
리액트 네이티브로 구성한 프로젝트 빌드를 하던 중 오류가 발생하였다. 원인이라는 getReactNativeHost().getReactInstanceManager()); 부분을 찾아 검색하였고 0.61.5 에서 0.63.3. 으로 리액트 네이티브가 업데이트 되면서 빠졌다고 MainApplication.java 파일에 아래 코드를 추가해보라고 한다. https://stackoverflow.com/questions/65837062/react-native-android-cannot-find-symbol-class-reactinstancemanager 결과는 실패다. 비슷한 원인들을 찾다보니 이런 링크가 있었다. https://github.com/facebook/react-native/issues/36060 위 내용들을 참고 삼아 수정한 방법은 기존에 프로젝트 폴더안에 android/app/src/release/java/com/프로젝트 이름/ReactNativeFlipper.java 를 복사가 아닌 다른 폴더로 […]
-
Android, React Native 2023‧01‧12
react native - 안드로이드 배포 실패 : Could not find com.facebook.react:react-native:0.71.0-rc.0
리액트 네이티브 최신 버전으로 앱을 빠르게 제작하여 배포를 진행중이였다. 분명 기기 연결 테스트까지 잘되었는데 릴리즈 번들링에서 Could not find com.facebook.react:react-native:0.71.0-rc.0 오류가 발생했다. 해외에서는 22년 11월부터 이 이슈가 올라와서 많이 이야기가 나왔는데 국내 글이 없었다. https://github.com/facebook/react-native/issues/35210 위 링크를 보면 알 수 있듯이 2022년 11월 4일부터 안드로이드 앱 빌드할 때 오류가 나고 있음을 리액트 팀에서 안내하고 있다. […]
-
Android 2020‧12‧16
안드로이드 - 네트워크 끊겼을 때 webview에 '웹페이지를 찾을 수 없음' 안뜨게 하기
안드로이드에서 인터넷이 끊기면 웹뷰에 url과 함께 안드로이드에서 제공하는 '웹페이지를 찾을 수 없음'이 뜬다. 이렇게 되면 만들고 있는 프로젝트와 어울리지 않게 되버린다.이 페이지를 안뜨게 하고 기존에 연결되어 있는 페이지에 머무르게 하려면 아래처럼 코드를 넣으면 된다. 그리고 다른 페이지로 이동하는 버튼들이나 함수들에서 네트워크를 한번 더 체크해서 네트워크가 연결되어 있다면 페이지를 이동 시킨다.이 방식은 내가 프로젝트들을 진행할 때 […]
-
Android 2018‧05‧17
java.io.StreamCorruptedException: invalid type code: 29
안드로이드 개발 작업을 수정하다가 랜더링 후 아래와 같은 오류가 발생하였다. :app:transformNativeLibsWithMergeJniLibsForDebug java.io.StreamCorruptedException: invalid type code: 29 검색해보니 invalid type code: 29 에 대한 오류 대응은 없고 거의 invalid type code: 00 이였다. 결론부터 말하자면 사실 프로젝트 폴더를 다른 PC의 작업 폴더를 복사해와서 생긴 오류였다. 안드로이드 스튜디오를 실행했을 때 이런 오류가 떴었기 때문이다. 이 오류 […]
-
Android 2018‧01‧10
~ free bytes and 2MB until OOM 에러
manifests > AndroidManifest.xml 안에 android:largeHeap="true" 와 android:hardwareAccelerated="false" 를 추가해준다. <application android:name=".SetApplication" android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:largeHeap="true" android:hardwareAccelerated="false" android:theme="@style/AppTheme"> 이유나 문서가 필요하면 안드로이드 개발 사이트를 참고하면 된다. https://developer.android.com/topic/performance/graphics/index.html
-
Android 2018‧01‧02
라운드 버튼 만들기, shape solid 배경색 변경
먼저 res> drawable 안에 xml을 하나 만들어 shape를 추가한다. 본인은 roundbtn.xml이라고 만들었다. <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"> <solid android:color="#ff0000" /> <corners android:bottomRightRadius="20dp" android:bottomLeftRadius="20dp" android:topRightRadius="20dp" android:topLeftRadius="20dp"/> </shape> 라운드가 각 4방향에 20dp로 라운드되게 만든 shape다. 이제 버튼에 background 에 roundbtn.xml을 추가하자. <Button android:id="@+id/signaldocentcolor" android:layout_width="20dp" android:layout_height="20dp" android:background="@drawable/roundbtn" /> 이렇게 만들어두기만 하면 괜찮은데 간혹 상황에 따라 동그랗게 만든 […]
-
Android 2018‧01‧02
버튼에 그림자 빼기
버튼에 기본적으로 그림자가 붙어서 UI가 빠지는데 이걸 버튼에 스타일로 style="?android:attr/borderlessButtonStyle" 한줄을 넣어주면 된다. <Button android:id="@+id/signalvip1color" android:layout_width="20dp" android:layout_height="20dp" android:background = "@drawable/roundbtn" style="?android:attr/borderlessButtonStyle"/>
-
Android 2018‧01‧02
WIFI 신호 감도, 속도, AP기기 맥 어드레스 가져오기
현재 접속한 wifi 의 신호 감도가 얼마 정도인지, 네트워크 속도는 얼마나 되는지 알고 싶고 같은 SSID라도 AP 기기가 다를 수 있는데 전환되었는지 알아 볼 때 AP 기기의 맥 어드레스로 알 수 있다. manifests > AndroidManifest.xml 를 열어 퍼미션을 추가해 준다. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> 그리고 아래 코드로 […]
-
Android 2017‧12‧26
안드로이드로 핑 테스트 하기
네트워크 체크할 때 사용했다. String host = "192.168.0.100"; String cmd = "ping -c 1 -W 10 " + host; try { Process proc = Runtime.getRuntime().exec(cmd); proc.waitFor(); int result = proc.exitValue(); Log.d("------result", result); } catch (Exception e) { Log.d("------ping", e.getMessage()); }