일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 코틀린
- 웹뷰
- 안스
- viewpager
- WebView
- RecyclerView
- 안드로이드스튜디오
- Retrofit
- coroutine
- image
- studio
- dart
- 의존성주입
- MVVM
- Android
- 안드로이드 스튜디오
- Gradle
- 스튜디오
- build
- 깃헙
- 코루틴
- 안드로이드
- error
- Github
- 에러
- Kotlin
- ADB
- 유튜브
- GIT
- 레트로핏
- Today
- Total
목록전체 글 (164)
코딩하는 일용직 노동자
Android Studio 가 업데이트 되었습니다. 이번 버전의 이름은 Bumblebee(범블비) 입니다. 여러 기능 업데이트가 있지만 그중에서 무선 디버깅 (Wireless debugging)을 기능이 새로 생겼습니다. 이제 Android 11 이상의 기기에서 무선 디버깅 기능을 지원합니다. 기존에는 UBS케이블을 연결해서 디버깅을 하는것이 일반적이었습니다. 물론 ADB명령어를 이용해 무선 디버깅을 할 수는 있었습니다. 이 방법을 정리한것도 블로그에 포스팅한적이 있었죠.https://bacassf.tistory.com/27 Wifi ADB 디버깅 방법 안드로이드 개발을 할때 보통 테스트폰을 컴퓨터에 연결한 상태로 디버그를 하게 됩니다. 하지만 Wifi 를 이용해 무선으로 디버깅할 수 있습니다. term..
외부에서 스키마(Scheme)을 전달받아 특정 액티비티로 바로 연결해주는 작업을 하는 경우가 많습니다. 보통 아래처럼 scheme 과 host를 셋팅합니다. 추가로 pathPrefix 를 설정할 수 있지만 안하는 경우도 많습니다. 이경우 "testapp://event/list" 이런 형태로 전달받게 되면 해당 액티비티로 연결해주게 됩니다. 이걸 테스트할때 adb 명령어를 이용해서 테스트 할 수 있습니다. 아래처럼 터미널창에서 입력하면 됩니다. adb shell am start -W -a android.intent.action.VIEW -d "scheme://host?param1=value1" 앱패키지명 ex) adb shell am start -W -a android.intent.action.VIEW -..
테스트중인 앱이 로그인을 한 상태에서 앱삭제후 재설치하면 여전히 로그인이 되어 있는 경우가 있었습니다. 해당 현상을 제거해달라고 해서 매니페스트 파일을 수정했습니다. android:allowBackup="true" 이렇게 설정되어 있어서 발생한 문제였습니다. android:allowBackup="false" 이렇게 고치고 빌드를 하니 이번엔 아래의 오류가 발생했습니다. Merging Errors: Error: Attribute application@allowBackup value=(false) from AndroidManifest.xml:22:9-36 is also present at AndroidManifest.xml:19:18-44 value=(true). Suggestion: add 'tools:r..
Android Studio 에서 사용하지 않는 리소스를 검색하고 제거하는 방법입니다. Android Studio 의 상단 메뉴바에서 [Code] > [Inspect Code...]를 선택합니다. 그럼 Android Studio 하단 [Inspection Results] 메뉴에 Inspection 결과가 보입니다. 사용하지 않는 리소스는 [Android Lint] > [Performance] > [Unused resources] 항목에서 확인할 수 있습니다.
안드로이드 스튜디오를 최신 Arctic Fox 로 업데이트 하고 gradle 버전을 7로, JDK를 11로 업데이트 한 후 앱을 빌드하니 아래의 오류가 발생합니다. Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8 아직 빌드 설정상에 JDK 버전이 1.8로 되어 있는듯 합니다. 우선 [Project Structure] > [SDK Location] 메뉴에서 [JDK location was moved to Gradle Settings.] 를 누릅니다. 그리고 [Gradle JDK:] 에서 JDK 버전을 11로 선택해줍니다. 다시 빌드해보면 정상적으로 빌드가 되는것을 확인 할 수 있습니다.
안드로이드 스튜디오의 새로운 버전인 Arctic Fox 를 설치했습니다. 그러니 gradle 7.0 을 설치하라고 해서 설치하고 JDK 11 버전이 필요하다고 해서 겨우겨우 설치했습니다. 간신히 빌드를 하려는데 처음보는 에러가 발생했습니다. Manifest merger failed : android:exported needs to be explicitly specified for . Apps targeting Android 12 and higher are required to specify an explicit value for `android:exported` when the corresponding component has an intent filter defined. See https://devel..
다른 개발자와의 협업중에 그분에게서 전달받은 소스파일을 덮어씌워서 작업하다 보니 기존에는 발생하지 않았던 컴파일 오류가 발생했다. 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 { ..
서비스중인 앱에 구글 인앱상품을 만들고 결제기능을 앱에 추가하는 업무를 맡아 작업하면서 생각보다 구글 결제를 셋팅하는게 까다롭다는것을 느꼈습니다. 구글링을 해보면 BillingClient 를 이용해 결제를 시도하는 소스는 많은데 막상 테스트를 해보니 결제가 되지 않고 결제거부가 되었습니다. 분명히 앱의 인앱상품을 생성해서 등록을 해놨는데도 결제가 실패되었습니다. 이번 포스팅에서는 구글결제(Billing)을 구현하기 위해 플레이스토어 콘솔과 구글 클라우드플랫폼 에서 셋팅하는 것을 정리해보았습니다. #1 앱등록 만약 등록한 앱이 Billing 권한이 없다면 구글 플레이스토어 콘솔에 들어가서 [수익 창출] > [제품] > [인앱 상품] 을 들어가보면 아직 인앱 상품이 없다는 메세지가 보입니다. 우선 인앱상품을..
안드로이드 개발중 경험한 에러와 해결방법을 공유합니다. 앱실행 중에 아래와 같은 에러가 발생하면서 앱이 죽었습니다. 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..
안드로이드 스튜디오를 Arctic Fox 로 업데이트 해보니 파일검색창이나 소스검색창, git로그창에서 한글이 깨져보이는 현상이 발생했습니다. 구글링을 해보니 안드로이드 스튜디오가 업데이트 될때 이런일을 겪는 개발자가 상당히 많은듯 합니다. ^^;; 우선 다음의 경로로 가서 현재 폰트를 확인해줍니다. Preference > Editor > Font 에 가서 확인해봤지만 큰 문제는 없어보입니다. Preference > File Encodings 에 가보니 모두 정상적으로 UTF-8 로 인코딩 설정이 되어 있었습니다. 마지막으로 Appearance 메뉴를 가봅니다. Preference > Appearance 메뉴에서 Use custom font 를 체크하고 Apply 를 눌러줍니다. 다시 소스검색창을 확인해..