Debug Log/Android

    'other' has different root

    상황 aab 마는중에 에러 발생 원인 프로젝트, 키, 산출물이 같은 드라이브에 위치하도록 해야한다고 함. 참고 : https://stackoverflow.com/questions/62089862/generate-signed-bundle-errors-while-building-bundle-file-other-has-different 대처 용량문제로 SSD를 추가해, 폴더정리를 했어서 발생했었다고 판단하였음. aab 산출물만 프로젝트가 있는 드라이브로 위치를 지정했을때는 실패, 키와 산출물 디렉토리까지 프로젝트가 있는 드라이브로 이동시켰다. 결과 키와 산출물, 프로젝트를 동일한 드라이브에 위치시켜 에러없이 성공

    [Android] 패키지가 잘못되어 앱이 설치되지 않았습니다. 해결

    상황 proguard 테스트중, 릴리즈 apk 설치시에만 '패키지가 잘못되어 앱이 설치되지 않았습니다' 문구 출력. debug apk는 설치 및 구동이 잘 되는 상황. 휴대폰 설정에서 출처없는앱 설치 허용하고, 구글 프로텍트는 해제한 상황이였는데 이랬음ㅁ 원인 unsigned apk여서.. proguard 설정 문제가 아니였다. 해결 서명한 apk를 빌드해서 설치하니 해결되었다. --- ...? 보안설정이 하나가 더 있나...? 뭐지...?;;;;

    W/BroadcastQueue: Background execution not allowed: receiving Intent

    W/BroadcastQueue: Background execution not allowed: receiving Intent

    상황 브로드 캐스트 테스트를 위해서, 액션명을 커스텀 해 암시적 브로드캐스트를 생성하였다. 그리고 송신했을때, 수신측에서 해당 에러를 출력하며 브로드캐스트를 수신하지 못하였다. 원인 백그라운드 정책이 강화됨에 따라, 예외적인 몇가지 암시적 브로드캐스트를 제외하고 암시적 브로드캐스트는 매니페스트에 브로드캐스트 수신기를 등록해서 수신할 수 없고, Context에 수신기를 구현해야 한다. 해결 송신시 명시적인 브로드캐스트를 보내도록 수정하였다. intent.putExtra("data", "This is just broadcast test B") intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES); sendBroadcast(intent) 에서 intent.putExt..

    Your app contains exposed Google Cloud Platform (GCP) API keys. Please see this Google Help Center article for details

    Your app contains exposed Google Cloud Platform (GCP) API keys. Please see this Google Help Center article for details

    상황 google player cosole로 앱 게시중 오류 발생 원인 fcm api-key를 그대로 project에 노출한것 해결 어쩔수없이 직접 주입해서 썻어야 했음. local.propertise에 값을 저장하고 buildConfig에 선언해 꺼내썻지만, 어차피 빌드되면서 접근이 가능하므로 실패 1. 4토막으로 나눠 더한채로 입력한다. ex) key = 123456789라면, "123"+"456"+"789" 2. 암호화한걸 디코딩한 값을 입력한다. ex) base64로 apikey를 인코딩한 값이 Constant.API_KEY라 하면, .setApiKey(new String(Base64.decode(Constant.API_KEY, 0))) 처럼 사용한다.

    Build was configured to prefer settings repositories over project repositories but repository 'flatDir' was added by build file 'app\build.gradle'

    Build was configured to prefer settings repositories over project repositories but repository 'flatDir' was added by build file 'app\build.gradle'

    상황 aar을 import하기 위해 작업도중 발생 원인 모르겠음. api 30과 31의 차이라기도 뭐한게.. taget api 30인 project가 설정한 대로 똑같이 해도 설정되지 않음. 시도한 방법 //app 또는 project gradle에 아래내용 추가 repositories { flatDir{ dir 'libs' } } //app gradle의 다음의 내용 추가 implementation(name:'AAR_NAME', ext:'AAR_EXTENSION_NAME') -> 실패 //app 또는 project gradle에 아래내용 추가 repositories { flatDir{ dir 'libs' } } //app gradle의 다음의 내용 추가 implementation fileTree(dir:..

    Manifest merger failed : Attribute application@theme

    상황 aar을 import하기위해 app gradle에 implements를 한 상황에서 clean - rebuild project를 실행시키니 발생 원인 모르겠음... 아마 aar의 manifest와 내 project의 manifest의 theme가 충돌되었다고 의심됨. 해결 manifest.mxl에 다음 다음과 같이 추가 1. manifest 태그 내에 추가 xmlns:tools="http://schemas.android.com/tools" 2. application 태그 내에 추가 tools:replace="android:theme" 이후 성공적으로 잘 빌드 되었음.

    Work Manager : "Could not instantiate Wroker"

    상황 WorkManager에 workrequest을 enqueue했는데 오류 뿜음 원인 worker를 inner class로 작성하면 안 됨 해결 worker class 별도 분리 참고 https://haero.tistory.com/20 [Android] WorkManager 'Could not instantiate Worker' 해결법 Android JetPack Component 에 'WorkManager' 라는 친구가 있다. 초기 안드로이드는 백그라운드 실행 정책이 느슨했기 때문에 여러 앱이 각자 백그라운드 태스크를 수행하면서 스마트폰의 자원을 엄청 소비 haero.tistory.com https://stackoverflow.com/questions/52657196/android-work-manag..

    Custom ListView OnItemClickListener가 작동하지 않음

    Custom ListView OnItemClickListener가 작동하지 않음

    상황 CustomListView를 만든 후 OnItemClickListener 이벤트를 입력하였으나 작동하지 않음 원인 기본적으로 제공하는 리스트뷰가 아닌경우 리스트를 클릭하는게 아닌 리스트뷰 내부의 아이템을 클릭하는것으로 인식. 왜냐하면 리스트뷰의 아이템 레이아웃을 별도로 만들어 리스트뷰에 붙였기 떄문임. 해결 리스트뷰에 클릭이벤트를 붙이는게 아닌 어댑터의 getview에서 converterview에 클릭이벤트 생성

    java.net.ConnectException: Failed to connect to

    java.net.ConnectException: Failed to connect to

    상황 맥북 로컬 tomcat서버에 app에서 json 파일을 가져오는 과정에서 발생, 왜안되나 한참 봤더니 연결이 끊겼었음. 매니페스트에 인터넷 퍼미션과 네트워크 세큐리티 콘피그 xml도 설정되어있던터라 아리송했음 해결 mac과 예뮬레이터(실제 핸드폰)이 다른 network에 속해 있었음 느낀점 호스팅 서버에 구동을 하는게 아니면 네트워크는 같은걸로 항상 설정해 두자