가끔 하늘을 보자: 2019

2019년 10월 10일 목요일

Android NDK


Android Studio 에서 App 빌드후 생성된 so ndk-build.cmd 생성한 so 파일의 크기가 다르다. 왜일까?
또한 ndk-build 이용해야 so libs 복사된다.(내부 install 명령을 통해서)

Android Studio Ndk-build 설정
File - Settings - Tools - External Tools - add

Build 추가
Program : sdk 설치폴더\ndk-bundle\ndk-build.cmd
Working dir : 프로젝트\app\src\main (or jni)

Clean 추가
Program : sdk 설치폴더\ndk-bundle\ndk-build.cmd
Arguments : clean
Working dir : 프로젝트\app\src\main (or jni)

 

 

[Build error : Error fatal error opening dependency file … No such file or directory]

D:/xxx/yyy/zzz/D_/build/xxx/yyy 형태로 중복 출력되는 경우

프로젝트의 경로가 너무 길어 발생하는 문제

 

2019년 8월 29일 목요일

Android Studio build error

  • java.lang.UnsatisfiedLinkError

Jni library를 추가 하거나, 빌드된 Library를 추가 했을 경우 아래와 같은 에러 발생
1. gradle.properties 파일  -> 아래 한 줄을 추가
   android.useDeprecatedNdk=true
2. app/build.gradle 파일 -> 아래 소스 추가
   defaultConfig {
        ndk {
            abiFilters "armeabi", "armeabi-v7a", "x86", "mips"
        }
    }

  • GCM java.io.IOException: SERVICE_NOT_AVAILABLE

시스템 환경설정 시간을 자동으로 설정

  • More than one file was found with OS independent path 'lib/armeabi-v7a/libxxx.so' 
해당 모듈의 build.gradle 에 추가.

 
packagingOptions {
    pickFirst 'lib/arm64-v8a/*'
    pickFirst 'lib/armeabi-v7a/*' 
}
 

2019년 7월 18일 목요일

Android SECRET_CODE

디버깅 로그 확인을 위해 SECRET_CODE 를 사용하였는데 언제부터인가 안되는 단말이 생기기 시작했다.
관련 내용을 정리해본다.

기본 dialer 앱을 통해 동작시켜야 한다.
*#*#code#*#* 이 동작하지 않을 경우는 adb 를 이용하는 방법도 있다.

adb shell am broadcast -a android.provider.Telephony.SECRET_CODE -d android_secret_code://codeNumber

but, Android Oreo(?) 이후부터는 exception 발생한다.
java.lang.SecurityException: Permission Denial: not allowed to send broadcast android.provider.Telephony.SECRET_CODE

API29 에서 ACTION_SECRET_CODE 가 생긴다는데 추후 확인 필요하다.

현재까지의 결론은, S 폰은 위 방법들로는 안되는거 같고, 내가 가지고 있는 일부 폰에서는 dialer app 에서는 동작은 한다.

운전면허 1종 전환 기준 강화 (2026년 3월 26일 시행)

운전자분들 주목! 2026년 3월 26일부터 운전면허 1종 전환 기준이 대폭 강화됩니다.  예전처럼 무사고 7년만 채우면 끝? 아닙니다! 이제 '실제 운전 경력' 입증이 필수라는 사실! 장롱면허 소지자분들이나 1종 전환을 고민 중이셨다면...