프로그래밍 80

uses-feature required

AndroidManifest에 카메라 권한을 선언하는 부분에서 빨간 줄이 생겼다. 마우스를 갖다 대보면 uses-feature가 빠졌다는 내용이다. uses-feature는 보통 구글 플레이에 앱의 노출 여부를 결정할 때 많이 사용한다. 예를 들어서 카메라를 사용하는 앱인데, 카메라가 없는 안드로이드 기기에서도 검색 또는 설치가 되게 할 것인지 말 것인지를 결정할 수 있다. 만약 카메라 사용이 필수라면 당연히 required="true"가 되어야 할 것이고, 카메라 기능이 옵션이라면 required="false"로 선언하면 되겠다. 이제 아래 코드를 넣으면 빨간 줄이 사라질 것이다. 카메라뿐만 아니라 블루투스(bluetooth), NFC 등 안드로이드 기기의 하드웨어 존재 유무에 따라서 각각 선언하면 된..

dex2jar - com.googlecode.d2j.DexException: not support version.

이런 오류가 발생했다면 오래된 dex2jar를 사용하고 있는 것이다. 구글에서 dex2jar decompile을 검색하면 sourceforge의 다운로드 링크가 나오는데, 2016년 이후로 더이상 업데이트 되지 않는다. 이제는 새롭게 아래 링크에서 코드를 내려 받아서 가이드대로 따라만 하면 된다. GitHub - pxb1988/dex2jar: Tools to work with android .dex and java .class files Tools to work with android .dex and java .class files - GitHub - pxb1988/dex2jar: Tools to work with android .dex and java .class files github.com

Manifest merger failed : Attribute application@allowBackup value=(false)

안드로이드는 앱 삭제 후 재설치시 백업 되어있던 내부 데이터가 복구되는데, AndroidManifest.xml 파일에 android:allowBackup="true"이 default 값으로 되어있기 때문이다. 이게 좋은거 같지만 구글 플레이로부터 앱을 설치하게 되면 처음 상태에서 실행이 되어야 제대로 된 로직을 탈 수 있는데 데이터가 복구되어 그렇지 않은 케이스로 가다보니 오류가 발생할 때가 있고, 그런것에 대한 처리를 다 해주기가 번거롭다. 그래서 android:allowBackup="false"로 바꾸고 앱을 재설치 하더라도 처음 실행하는 것처럼 하는게 속 편하다. android:allowBackup="false"로 바꾸면 Manifest merger failed가 발생하는 경우가 있는데, 이 에러에..

[android] Disable ActionBar show/hide animation

Single Activity 구조로 UI 설계를 하기 위해서는 Navigation을 이용하여 모든 화면 단위를 Fragment로 개발을 한다. 혹시 특정 Fragment에서 ActionBar를 숨겨야 할 때가 있다면 supportActionBar의 show(), hide() 함수를 이용하면 된다. 하지만 한가지 거슬리는건 show/hide 될 때 애니메이션이 나오는데, 그게 보기 싫다면 setShowHideAnimationEnabled(false) 를 호출하여 해결할 수 있다. @SuppressLint("RestrictedApi") override fun onStart() { super.onStart() val supportActionBar = (requireActivity() as AppCompatAc..

vimrc 설정하기

Mac Terminal 또는 iterm2를 세팅할 때 필수로 vimrc를 해주어야 마음이 편하다. 매번 까먹으니 적어두고, 파일로 올려 놓는다. set hlsearch " 검색어 하이라이팅 set nu " 줄번호 set autoindent " 자동 들여쓰기 set scrolloff=2 set wildmode=longest,list set ts=4 "tag select set sts=4 "st select set sw=1 " 스크롤바 너비 set autowrite " 다른 파일로 넘어갈 때 자동 저장 set autoread " 작업 중인 파일 외부에서 변경됬을 경우 자동으로 불러옴 set cindent " C언어 자동 들여쓰기 set bs=eol,start,indent set history=256 set ..

프로그래밍 2022.03.10