일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- image
- MVVM
- Github
- RecyclerView
- 스튜디오
- 안스
- 안드로이드 스튜디오
- WebView
- Retrofit
- 유튜브
- 안드로이드스튜디오
- error
- Android
- ADB
- 의존성주입
- GIT
- coroutine
- build
- studio
- 깃헙
- 웹뷰
- 안드로이드
- 코틀린
- dart
- 레트로핏
- viewpager
- Gradle
- Kotlin
- 에러
- 코루틴
- Today
- Total
목록에러 (9)
코딩하는 일용직 노동자
사용중인 프로젝트의 서브모듈 build.gradle에 아래처럼 junit5 가 설정되어 있다.classpath "de.mannodermaus.gradle.plugins:android-junit5:1.6.1.0"이런경우 아래처럼 빌드에러가 발생한다.Could not GET 'https://artifacts.adsmoloco.com:443/artifactory/libs-release-local/de/mannodermaus/gradle/plugins/android-junit5/1.6.1.0/android-junit5-1.6.1.0.pom'. Received status code 502 from server: Bad Gateway내용을 보니 junit5-1.6.1.0 버전 파일을 다운로드 받지 못한다. 아무래도..
프로젝트를 빌드해서 실행한 후 다시 한번 빌드 후 실행할때부터 java.lang.SecurityException: Writable dex file 오류가 발생했습니다.java.lang.SecurityException: Writable dex file '/data/data/com.amazon.styledictionaryexample/code_cache/.overlay/base.apk/classes2.dex' is not allowed. 이럴땐 당황하지 말고 아래처럼 Application onCreate()에 코드를 추가해주면 됩니다.import android.app.Applicationimport java.io.Fileclass App: Application() { override fun onCreat..
다른 개발자와의 협업중에 그분에게서 전달받은 소스파일을 덮어씌워서 작업하다 보니 기존에는 발생하지 않았던 컴파일 오류가 발생했다. The minCompileSdk (31) specified in a dependency's AAR metadata (META-INF/com/android/build/gradle/aar-metadata.properties) is greater than this module's compileSdkVersion (android-30). clean 을 해보고 빌드를 다시 해봐도 계속 문제가 발생했다. compileSdkVersion 을 31로 변경해서 빌드해봐도 계속 발생했는데 app/build.gradle 에 아래의 처리를 추가해서 해결했다. configurations.all { ..
안드로이드 개발중 경험한 에러와 해결방법을 공유합니다. 앱실행 중에 아래와 같은 에러가 발생하면서 앱이 죽었습니다. java.lang.IllegalStateException: Must be called from main thread of fragment host Fragment에서 부모 Activity로 ViewPager의 페이지 이동을 시키려고 하는데 에러가 났습니다. public class AndroidBridge { @JavascriptInterface public void OnAppEvent(String data) { switch (event) { case "move_to_main": Fragment_Main.getInstance().mViewPager.setCurrentItem(1); break..
ViewModel 안에 만들어둔 MutableLiveData 변수의 value 를 바꿔주기 위해 .setValue() 나 .sendEvent() 를 사용하니 앱이 바로 죽습니다. 에러로그를 보니 메인쓰레드가 아닌 다른 쓰레드에서 MutableLiveData 의 값을 셋팅하다보니 발생한 에러입니다. (CoroutineScope 는 Dispatchers.IO 로 만들어서 사용중이었습니다.) 구글링을 해보니 아주 간편한 해결법이 있습니다. postValue() 로 값을 셋팅해주면 됩니다.
앱을 테스트할때는 빌드가 잘 되는데 릴리즈용 apk 파일을 빌드할때는 못보던 에러가 발생하며 사이닝된 릴리즈용 파일을 만들지 못했다. Lint found fatal errors while assembling a release target. 검색해보니 처리할 수 있는 방법이 두가지 있다. #1. 리포트 파일을 읽어서 해결한다. app/build/reports/ 경로에 html 과 xml 파일이 생성된다. 이것을 참고해 에러의 원인을 해결한다. #2. module 의 build.gradle 파일에 아래의 옵션을 추가한다. android { lintOptions { checkReleaseBuilds false // Or, if you prefer, you can continue to check for erro..
애드몹 Test UnitID로 배너광고가 나오는 것은 확인했는데 정장 상용ID로 배너광고가 표시되지 않았다. 로그캣에 보니 아래와 같은 메세지가 보였다. The Google Mobile Ads SDK will not integrate with Firebase. Admob/Firebase integration requires the latest Firebase SDK jar, but Firebase SDK is either missing or out of date 검색해보니 Tool > SDK Manager > SDK Tool tab 에서 google play service 체크하고 설치하라고 했다. 설치했더니 이번엔 아래와 같은 메세지가 보였다. Ad failed to load : 3 은 광고가 없다는 ..
개발중인 하이브리드 앱의 웹뷰에 카카오톡으로 공유하기 기능이 있는데 카카오톡으로 이동도 하지 않고 net:ERR_UNKNOWN_URL_SCHEME 에러가 발생했습니다. 구글신에게 검색해보니 a href 에서 앞에 intent: 만 제거해서 붙이는 방법이 있었고 WebViewClient 의 shouldOverrideUrlLoading() 에서 처리해주는 방법이 있었습니다. 저는 shouldOverrideUrlLoading() 에서 아래의 소스를 추가해서 문제를 해결했습니다. @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { LogUtil.e("shouldOverrideUrlLoading :: " + url); try ..
기존에 잘되던 앱에서 Retrofit으로 api를 호출하면 아래의 오류가 발생했다. Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 1 path $ 구글에 검색을 해보니 GsonConverterFactory.create() 안에 GsonBuilder를 객체를 만들어 넣어주면 해결되는 문제였다. 나말고도 이런 오류를 경험한 사람이 많은가보다. https://stackoverflow.com/questions/39918814/use-jsonreader-setlenienttrue-to-accept-malformed-json-at-line-1-column-1-path Use JsonReader.setLenient(true) to ..