본문 바로가기
반응형

Android29

Android - 빌드 파일명 변경 오늘은, 안드로이드 Build를 통해 생성되는 결과물의 파일명을 입맛대로 변경하는 내용에 대해 정리를 해본다. 우선, build.gradle(Module :app) 파일의 내용에 다음을 추가한다. android { namespace 'kr.demo.' compileSdk 32 defaultConfig { applicationId "kr.demo." minSdk 30 targetSdk 32 versionCode 4 versionName "2.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFil.. 2023. 4. 6.
[Android Kotlin] 네트워크 상태 체크 오늘은 지난번 포스팅에 이어, 네트워크 상태가 정상일 때 RestAPI를 호출하도록 하기 위해 시점에 네트워크 상태를 체크하고 결과에 따라 통신을 시도하도록 한다. https://effectivecode.tistory.com/1678 [Android Kotlin] RestAPI with Retrofit2 어제, 오늘 양일간 나름 빠듯하게 안드로이드 앱 프로젝트를 진행했다. 이 앱은 하이브리드 앱이라 네이티브 영역은 정말 0.5%정도 밖에 안된다. 나머지는 모두 웹에서 VueJs로 개발되어졌다. 현업 effectivecode.tistory.com 먼저 네트워크 상태를 체크하려면 퍼미션을 획득해야 한다. 다음은 network 페키지 하나 만들고 그 안에 NetworkManager라는 클래스를 하나 만들었다... 2023. 3. 24.
Android W/cr_AwContentsClient: Denied starting an intent without a user gesture, URI https://www.xxx.re.kr/sso/business 좀전에 포스팅 한 것으로 이슈가 해결된줄 알았지만, 그 이후 빌드를 했더니 이젠 또 새로운 메시지가 나를 반겨준다 ^______^;; 이건 또 뭘까? 스택오브플로에서 찾은 간단한 답. 앱이 심플하다하여, 기본적인 웹뷰 설정들이 누락되어 발생되는 문제들이다. 다음 코드를 추가하면 간단하게 해결된다. mWebview.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { return false; } }); // 약식 mWebview.setWebViewClient(new WebViewClient()); 자바스크립트를 이용해 리다이렉션을 일으키는 것은 사용자 .. 2022. 12. 29.
Android: Uncaught TypeError: Cannot read property 'getItem' of null 업무 인수인계 차원에서 전달 받은 아주 간단한? 안드로이드 앱이 있다. 이 앱은 오로지 웹뷰 하나만을 가지고있고, 특정 사이트의 URL을 로드하느 앱인데, 그게 잘 안되고 제목과 같이 문제가 있다고 출력이 되었다. 몇년만에 안드로이드 스튜디오를 구동한 터라 뭐가 뭔지 도통 알 수가 없어 여기저기 수소문을 했더니 정작 답은 구글 검색에서 준다. 기존 웹 프론트 개발자들은 DomStorage 사용을 하지 않고 개발을 한 모양인데, 이번에 대대적으로 변경을 하면서 추가가 된 모양이다. 웹뷰의 자바스크립트 설정 부분이 누락되어 발생되는 오류였고 다음 한 줄로 해당 이슈는 정리가 되었다. WebSettings webSettings = mWebview.getSettings(); webSettings.setJavaS.. 2022. 12. 29.
Android vitals ANR 및 비정상 종료의 ProGuard난독해석 파일 Android vitals ANR 및 비정상 종료의 ProGuard난독해석 파일 FCM관련 푸시 토큰을 얻기 위해 추가한 소스에서 자꾸만 java.lang.NullPointerException: 오류가 떨어지고 있다. 아무리 바도 해당 클래스에서 null문제가 발생할 것 같지는 않은데 어떻게 대처를 해야할지 막막하다. 인터넷을 뒤져보니 좀더 세세한 추적이 가능하도록 ProGuard난독 해석 파일을 추가하라고 되어 있길래 추가 해보았다. Android vitals의 비정상 종료 탭의 오류 메시지가 보이고 있다. 지긋지긋한 java.lang.NullPointerException이다. ProGuard난독 해제 파일이 없는 경우 저런 메시지가 나오고 제대로 된 오류 추적이 어려울 수 있기 때문에 ProGuard.. 2019. 5. 25.
안드로이드 런타임 퍼미션 요청 (READ_CONTACTS) 안드로이드 런타임 퍼미션 요청. 이것 저것 하느라 기능 하나를 제대로 마무리 하지 못하고 있는데 안드로이드 주소록 가져오기를 하는 도중 인터넷에 찾은 소스는 안드로이드의 퍼미션에 대한 부분은 누락되어진 소스가 많았다. 아이폰의 경우에도 퍼미션이 필요한 기능이 실행될 때 권한을 획득하는 경우가 많이 있는데 책을 찾아보니 안드로이드의 경우에도 보통과 위험 퍼미션으로 나눠져 요청을 하고 결과를 받아 화면 처리가 가능하도록 구현하게 되어 있다. 따라서 주소록 데이터에 접근하기 위해서는 READ_CONTACTS 퍼미션이 필요하며 이 역시 Manifest에 선언을 한 뒤 해당 기능이 실행되는 런타임시에도 역시 권한을 요청해야 한다. 안드로이드 6.0이상 버전에서 위험(dangerous) 퍼미션이 추가가되었다. 보통.. 2018. 12. 6.
반응형