소프트웨어 (67) 썸네일형 리스트형 [Android] Windows 개발 소스를 Linux에서 빌드할 때 주의사항 Windows 10에서 안드로이드 프로젝트를 진행하고 있었습니다. 그러나 어느날 문득 apk/so 배포가 너무 귀찮아서(몇분 안걸리긴함..) Ubuntu에 Docker올리고 Jenkins를 설치하여 빌드 자동화 구성을 하였으나 빌드 Fail이 자꾸 발생하였습니다. 감떨어졌나? Git checkout도 성공적이었고 Gradle wrapper도 잘 동작하였고 ANDROID_HOME도 잘 찾았으며 Android SDK까지 기존 윈도우 환경과 동일하게 세팅했는데??? 약간의 삽질 끝에 찾아낸 원인은 다음과 같았습니다. "대소문자" 제 경우에는 총 두 군데에서 문제가 발생하였는데 다음과 같았습니다. IAIDLHelper.aidl IAIDLHelper.aidl 파일 내에는 interface IAidlHelper로 .. [IntelliJ] 한글 깨짐 현상 수정 IntelliJ IDEA 2020.1.1 (Community Edition) Build #IC-201.7223.91, built on April 30, 2020 Runtime version: 11.0.6+8-b765.40 amd64 기준으로 해결한 사항을 기록합니다. 1. File > Setting(Ctrl + Alt + S) > Editor > File Encodings으로 진입 후 Encoding을 UTF-8로 변경합니다. 2. vm option 수정 shift를 두번 연타하여 Search Everywhere를 실행하고 "vm"을 입력하면 "Edit Custom VM Options..."를 선택합니다. 가장 마지막 줄에 다음의 설정 코드를 넣어주고 재시작을 합니다. -Dfile.encoding=UTF.. [Android] MVVM Anti Pattern 참고용으로 저장합니다. https://dhha22.github.io/androidgi/2020/05/12/mvvm_anti_pattern.html MVVM Anti Pattern MVVM Architecture을 적용할 때 피해야할 패턴에 대하여 다뤄보도록 하겠습니다. dhha22.github.io [MySQL Workbench] error code : 1412 Error Code: 1412. Table definition has changed, please retry transaction MySQL 워크벤치 버그입니다. 재시작 하면 됩니다. https://stackoverflow.com/questions/26208007/mysql-workbench-session-does-not-see-updates-to-the-database MySQL Workbench session does not see updates to the database I have MySQL Workbench (community-6.2.3) installed in a Ubuntu system using .deb. Workbench session does not seem to see updates.. [안드로이드] 코드에서 Ping 확인 Java /** * @return 0: success, 1: fail, 2: error */ public static int ping(@NonNull String host, int timeout) throws InterruptedException, IOException { int res; Runtime rt = Runtime.getRuntime(); Process process = rt.exec(String.format(Locale.US, "ping -c 1 -W %d %s", timeout, host)); // 0: 성공, 1: 실패, 2: 에러 res = process.waitFor(); // ~~ // shell 명령 출력 값 확인용입니다. 없어도 되요 BufferedReader br = new B.. [Logcat] 안드로이드 로그 최대 출력 가능 길이 일반적으로 안드로이드에서 로그는 다음과 같은 static method를 호출하여 출력합니다. Log.v (VERBOSE) Log.d (DEBUG) Log.i (INFORMATION) Log.w (WARNING) Log.e (ERROR) Log.wtf (ASSERT/FATAL) 단, 출력할 String의 길이가 일정 수준 이상이면 더 이상 표시가 되지 않습니다. /dev/log/events의 내용을 보면 아래와 같으며 실제로는 4076 bytes까지만 출력됩니다. #define LOGGER_ENTRY_MAX_LEN (4*1024) #define LOGGER_ENTRY_MAX_PAYLOAD (LOGGER_ENTRY_MAX_LEN - sizeof(struct logger_entry)) 따라서 적절한 시점에 로.. [Java/IntelliJ] Runnable jar 생성 방법 IntelliJ에서 Runnable jar를 생성하면 JRE가 갖춰진 환경에서는 실행이 가능합니다. 확인하기 쉽게 JFrame 창을 띄우는 간단한 자바 코드를 작성하겠습니다. import javax.swing.*; public class Main { public static void main(String[] args) { JFrame frame = new JFrame("TEST"); frame.setSize(300, 300); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } } 실행해보면 다음과 같이 빈 창이 덩그러니 실행되겠죠. 문제가 없는 것을 확인하였으니 이제 프로젝트 구성 창을 실행해서 배포 설정을 합니.. [Android Studio/SQLScout ] SQLite DB 뷰어 플러그인 2020-04-02 추가 유료 플러그인입니다. 개인 라이센스는 $50, 상용 라이센스는 $99입니다. https://www.idescout.com/secure/buy Buy SQLScout www.idescout.com https://plugins.jetbrains.com/plugin/8322-sqlscout-sqlite-support-/reviews Android Studio 내에서 SQLScout 플러그인을 설치하면 IDE내에서 앱 DB를 확인할 수 있습니다. File > Settings > Plugins > Browse repositories... 로 이동하여 sqlscout로 검색하여 설치하고 재부팅합니다. 재부팅 후 Device File Explorer에서 db 파일 위치로 가보면 db 파일 확.. 이전 1 ··· 3 4 5 6 7 8 9 다음