본문 바로가기

운동하는 개발자/Android

(20)
android studio AVD Waiting For Debugger / Run 무한대기 증상 안드로이드 스튜디오에서 AVD(Android Virtual Devices)를 사용하여 Run App 명령을 하였는데 Debug App을 한것처럼 멈춰있는 경우 (아래사진) 상세 내용 원래는 디버깅모드때 잠시 떴다가 사라지는 창인데 Run App을 하였는데도 무한대기하며 앱이 실행이 안됬다 Debug App을 하면 정상적으로 디버그모드로 정상적으로 동작이 된다 빠르게 Run만 해보고 싶을때 여간 불편한게 아니여서 확인해 본 결과 AVD를 디버깅중에 코드를 수정하여 다시 빌드하여 Run App을 동작시키면 간헐적으로 생기는 버그로 보였다 해결책 Tools -> AVD Manager를 실행 시킨 후 오류가 발생한 Virtual Device의 가장우측에 아래방향 화살표를 누른 뒤 'Cold Boot Now..
android createnewfile Operation not permitted 해결 이미지파일을 내부저장소에 저장하는 기능이 있는데 어느순간부터 File에서 createnewfile 함수 호출시 Operation not permitted 라는 에러가 발생하였다 File file = new File(fullPath, fileName); file.createNewFile(); //exception 발생부분 원래 정상 작동하던 코드인데 갑자기 안되서 당황하였고 권한 관련해서 이것도 넣어보고 빼보고 아무리 하다 해결이 안됬다가 디버깅중 이상하다 싶어 결국 해결된게 파일의 확장자가 없으면 create를 실패한다 간단하게 filename에서 확장자가 없다면 확장자를 넣어주는 로직을 추가 후 정상작동하는것을 확인하였다 구글링 대충해봤는데 확장자가 꼭 필요하다 라는말 정도만 있고 그 이유는 못찾았다 ..
안드로이드 앱 디컴파일 / 분석 / 뜯어보기 -2(완) (dex2jar, jd-gui) / apk decompile 1편에서 classes.dex파일까지 추출한 상황 2021.07.30 - [운동하는 개발자/Android] - 안드로이드 앱 디컴파일 / 분석 / 뜯어보기 -1 (APK Extractor) / apk decompile 안드로이드 앱 디컴파일 / 분석 / 뜯어보기 -1 (APK Extractor) / apk decompile ※들어가기 앞서 Proguard나 각종 디컴파일 방지 기술이 적용되지 않은 앱에만 사용 가능합니다 1. 앱 추출 play store에서 디컴파일을 원하는 앱을 다운로드한다 (기본적으로 안드로이드에서 apk를 singo112ok.tistory.com 2. Jar 생성 앞서 추출한 clsses.dex파일을 jar파일로 변경해야 하는 차례이다 이때는 dex2jar이란 프로그램을 사용했다 압..
안드로이드 앱 디컴파일 / 분석 / 뜯어보기 -1 (APK Extractor) / apk decompile ※들어가기 앞서 Proguard나 각종 디컴파일 방지 기술이 적용되지 않은 앱에만 사용 가능합니다 1. 앱 추출 play store에서 디컴파일을 원하는 앱을 다운로드한다 (기본적으로 안드로이드에서 apk를 다운받고 설치 한 뒤 apk는 자동 삭제된다) 이를 설치된 데이터를 가지고 다시 apk를 추출해내야 하므로 구글에서 APK Extractor 앱을 다운받는다 ※ 다른 추출 앱도 상관없으며 이미 APK를 인터넷에서 받거나 한 경우엔 해당 작업이 필요 없다 첫 실행화면 드래그하여 추출을 원하는 앱 옆에 : 버튼을 누른다 창이 하나 뜨면 공유 버튼을 누르고 위와 같이 저장된 경로를 알려주고 바로 외부 앱으로 공유도 가능하다 윈도우 탐색기로 해당 경로를 열어보면 저렇게 앱 명(계산기)의 폴더가 생성되었고 들..
Firebase 안드로이드 라이브러리 프로젝트에 사용법 / how to use firebase for android library project 한 단어 요약 : 불가능 현재 담당한 프로젝트는 android library로 SDK를 aar파일로 고객사에 전달하여 고객사가 aar모듈을 Dependencies로 연결하여 apk파일을 만들어 스토어에 배포하는 방식이다 따라서 앱 크래시 발생시 로그 수집을 위해서 Firebase Crashlytics를 library project에 적용시키고 싶었다 그러면 어떤 고객사의 앱에서도 크래시 에러 내용을 편하게 수집할 수 있으니.. 그래서 억지로 해보려니 우선 application id 입력부분에서 막혔고 json파일을 둘 경로도 적당하지 않았다 이후 오버스텍플로우를 계속 찾아본 결과 firebase에 누군가 문의해서 공식 답변을 받은 것이 있었고 내용은 아래와 같다 다른 누군가는 시간낭비하지 않길 바라며...
Android Studio Crashlytics 사용법 (Firebase) 우선 Crashlytics가 뭔지 모르고 들어온사람은 없을테니 가벼운 한줄요약으로 말도안되게 편리한 앱 비정상종료 추적 솔루션이라고만 표현해보겠다 사용법이나 알아보자 먼저 Firebase에 프로젝트를 등록해야 한다 2021/03/03 - [운동하는 개발자/Android] - Android Firebase 사용법 (Android Studio) / how to use Firebase 1. 안드로이드 프로젝트를 선택하고 좌측탭에서 Crashlytics을 누른 후 가운데 하얀버튼 Crashlytics사용 설정을 누르면 예외에러를 기다리게된다 2. build.gradle에 추가해줘야 하는데 버전도 업데이트 되고 플러그인도 변경 될 수 있으니 아래 링크를 보고필요한 값들을 추가해주자 firebase.google.c..
Android Firebase 사용법 (Android Studio) / how to use Firebase Firebase를 사용하기 위해서는 우선 프로젝트를 등록해야 한다 console.firebase.google.com/ 로그인 - Google 계정 하나의 계정으로 모든 Google 서비스를 Google 계정으로 로그인 accounts.google.com 위 링크로 이동하여 구글 로그인을 한 뒤 1. 프로젝트 추가 클릭 2. Firebase에서 식별할 프로젝트 이름을 임의로 정하고 3. 애널리틱스를 사용할 거면 사용 설정 체크 후 계속 4. 디폴트 계정으로 생성 5. 안드로이드 아이콘 클릭 6. Android 패키지 이름은 적용할 프로젝트 build.gradle에 있는 applicationId 값을 입력하면 된다 디버그 서명 인증서는 구글 로그인 등의 기능 사용에 필요하다고 하는데 괜히 나중에 필요해서 넣..
Android Studio에서 디버그 서명 인증서 SHA-1 확인하는법 작성자의 경우 Firebase 등록시 디버그 서명 인증서가 필요하여 확인이 필요했다 1. 우측상단에 코끼리 아이콘의 Gradle버튼을 누른다 (없다면 View -> Tool Windows -> Gradle을 누른다) 2. Tasks -> android -> signingReport를 더블클릭하면 3. 하단 Run부분에서 값이 보인다. SHA1값을 확인한다 ++210820 추가 android studio 4.2버전부터 task목록이 안보인다 당황하지말고 저 코끼리를 누르고 gradle signingReport 이걸 입력하면 동일하게 동작한다