본문 바로가기

Android

(8)
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 이걸 입력하면 동일하게 동작한다
안드로이드 소스코드 난독화, 최적화 / Android Proguard rules(optimization, Obfuscated) 안드로이드(자바)는 Managed Code 특성상 기본적인 디컴파일 툴로 디컴파일이 쉽게 된다 그러므로 외부로 나가는 라이브러리(.aar) 혹은 앱(.apk, .abb)는 난독화가 필수라고 볼 수 있다 (난독화 테스트를 위해 JD-Gui를 받아놓자 다운로드 링크) 그러므로 난독화 방법을 알아보자 안드로이드 프로젝트에서 build.gradle을 열어주면 위와 같이 화면에 보이는데 중간쯤 "androud {" 경로 하위에 "buildTypes {" 하위 "releases {"를 보게 되면 minifyEnabled 값이 false로 되어있는데 이것만 true로 바꿔주면 된다 해당 값은 난독화 뿐만 아니라 최적화 작업도 자동으로 진행된다 만약 디버그앱도 난독화가 필요하다면 아래와 같이 buildTypes 하위에..
안드로이드 스튜디오 aar 릴리즈 / Android Studio aar Release aar은 빌드를 하면 debug버전으로 빌드된다 이를 Release로 빌드하려면 우측에 코끼리아이콘 Gradle을 누르고 뜬 창에서 코끼리 모양에 마우스를 가져다 대면 Execute Gradle Task라고 뜨는데 이를 클릭 후 명령어 'gradle aR' 을 치고 앤터 혹은 'assembleRelease' 로 검색해서 하단에 Gradle Task에서 더블클릭 해주면 된다 위와같이 동일한 경로에 release버전이 생성된것을 확인할 수 있다 틀린내용이나 질문은 댓글로 남겨주세요
android studio getter setter 자동완성 1. 클래스에서 Alt+ Insert 키 입력 2. Getter and Setter 클릭 3. getter, setter를 생성할 변수 선택 (Ctrl+클릭 , Shift+클릭으로 다중선택가능) 4. 위와 같이 자동완성 완료! 틀린내용이나 질문은 댓글로 남겨주세요
라자루스에서 string array 를 JNI로 java에게 넘기기 / how to passed LAZARUS String Array to JNI for android 지난번 Lazarus(free pascal)로 생성한 so파일을 안드로이드에 연동하는법을 배워보았습니다 그 예제에서는 int값만 주고 받았는데 이게 주고받는게 단순하지 않은 타입들이 있습니다 그 문제는 흔히 사용하는 string에서부터 시작됩니다 우선 java의 String은 유니코드로 저장되는 char 배열이기에 lazarus String으로 쓰기위해선 UTF- 8로 인코딩을 해줘야한다 java에서 넘어온 string값 변환(JNI -> Lazarus) var jsTemp : JString; sTemp : String; begin sTemp := JStringTostring(jsTemp); end; function JStringToString(AJString: jstring): string; var E..
안드로이드 앱 다운받은 마켓(스토어) 찾기 / How to find your downloads on an Android device 앱을 다양한 스토어에서 배포 하는데 강제 업데이트 기능을 구현하다보니 해당 사용자가 어떤 스토어에서 다운받았는지 식별 할 방법이 필요했다 방법은 너무 간단하다 import android.content.pm.PackageManager; public String getFromInstalledMarket(Context context, String targetPkg) { PackageManager pkgMgr = context.getPackageManager(); return pkgMgr.getInstallerPackageName(targetPkg); } 위 함수를 호출 하면 String 타입으로 스토어 패키지명이 오는데 그 목록은 아래와 같다 1) 구글 플레이 스토어 (Google Play Store) : c..
앱번들 aab 파일로 apk 추출 / abb to apk 2021/01/27 - [운동하는 개발자/Android] - .aab 파일이란, 앱번들파일 / what is aab file , appbundle .aab 파일이란, 앱번들파일 / what is aab file , appbundle .aab 파일은 Android App Bundle의 줄임말로 구글 플레이스토어에서 사용되는 파일이다 AppBundle은 갈수록 사이즈가 켜져가는 앱의 용량을 줄이고 다양한 디바이스에 최적화 하기 위해 만들어졌으며 And singo112ok.tistory.com 시작하기 앞서 aab파일이 뭔지 간략히 알고싶다 하시는 분은 위 링크 클릭 우선 PC에 설치되어있어야 할게 두가지가 있다 첫번째는 당연하게도 자바이며 두번째는 bundle tool이며 릴리즈 된 jar파일도 다운가능하다..
.aab 파일이란, 앱번들파일 / what is aab file , appbundle .aab 파일은 Android App Bundle의 줄임말로 구글 플레이스토어에서 사용되는 파일이다 AppBundle은 갈수록 사이즈가 켜져가는 앱의 용량을 줄이고 다양한 디바이스에 최적화 하기 위해 만들어졌으며 Android Studio를 통해 만들 수 있다 사이즈가 줄어들고 최적화 되는 원리를 간단히 보자면 기존 APK파일은 다양한 디스플레이 해상도, 언어, CPU에 모두 대응하기 위해 모든 라이브러리나 리소스를 포함 하고 있기에 파일 사이즈가 크고 실질적으론 불필요한 데이터도 들어가게 된다 그러한 문제를 해결하기 위해 모든 데이터를 가진 aab파일을 구글 PlayConsole에 올리면 PlayStore 사용자들의 디바이스 조건에 최적화된 apk를 생성하여 설치되어진다 최적화도 최적화지만 우선 앱 사..