Android 16

OpenCV Android Studio Hedgehog 연동기

Android Studio Hedgehog로 가며 Gradle이 kotlin script를 사용하게 되어 OpenCV 모듈을 사용하는데 약간의 장애가 있었다. Android Studio Hedgehog를 사용하는 중인데 OpenCV SDK를 사용해야 하는 분들에게 도움이 될까해 글을 작성한다. - OpenCV SDK 다운로드 https://opencv.org/releases/ Releases Become a Member Stay up to date on OpenCV and Computer Vision news Join our Newsletter opencv.org 위 경로를 통해 OpenCV SDK Android version을 다운 받는다 필자의 경우 4.9.0 버전을 다운받았다(필자가 사용하던 때 기..

Android 2024.01.30

Android kotlin gradle에서 OpenCV 적용시 생기는 이슈 해결기

Android Project에 OpenCV Library를 적용하던 도중 아래와 같은 Error가 발생했다 Android Gradle Plugin 8.2.0 , Plugin [id: 'com.android.application', version: '8.0.2', apply: false] was not found in any of the following sources 이전에도 여러번 OpenCV를 안드로이드에 적용해본적이 있었으나 처음 본 에러라 당황 했는데 최근 Android Studio를 Hedgehog로 업데이트 하면서 gradle이 변경된거 때문인걸로 보였다. 개발환경 Android Studio: Hedgehog 2023.1.1 OpenCV Module은 옛날 gradle system에 맞춰 개발..

Android 2024.01.29

Unity Android Plugin 만들기

Unity에서 기본으로 지원해주지 않는 기능을 지원하기 위해서나 Native에 내가 구현해놓은 기능을 Unity에 사용하기 위해선 Plugin을 만들어야 함. 필자도 Native에 만들어놓은 기능을 Unity에서 사용하기 위해 Plugin 제작을 하는데 매번 만들때마다 어떻게 만들었는지 까먹어 내가 필요할 때 참고 하기 위해 블로그에 정리함. 개발 환경 PC: Mac Android Studio: Hedgehog | 2023.1.1 Unity: 2021.3.11f1 - Android Project 생성 먼저 Android Project를 생성해 준다. 본인이 만들고자 하는 Plugin의 성격에 따라 원하는 Template를 설정한다. 필자의 경우 "No Activity"를 많이 사용. - Android M..

Unity 2024.01.28

[Issue 잡기] A problem occurred starting process command 'Android/sdk/build-tools/28.0.3/i686-linux-android-ld''

개발하고자 하는 기능이 들어가있는 참고할만한 Android Project를 찾아 빌드하고 테스트 해보려고 하니 ``` A problem occurred starting process 'command '~/~/Android/sdk/build-tools/28.0.3/i686-linux-android-ld' ``` 의 에러가 발생하여 필자의 개발 환경이 M1 Mac이라 CPU Type 때문인가 의심 했었는데 아래와 같은 방법으로 해결 1. Rosetta 설치 $ softwareupdate --install-rosetta 2. Gradle Update 필자의 경우 Gradle Version을 4.2.2로 업데이트 하니 에러 없이 정상 실행되었음

Issue Tracking 2024.01.25

Targeting S+ (version 31 and above) requires that an explicit value for android:exported be defined when intent filters are present

Unity에서 Android를 Target으로 빌드를 하는 도중 Android12 기기에서 해당 Error가 발생하였다. 다른 기기에서는 괜찮았는데 12기기에서 문제가 발생하는걸로 봐선 Android12에서 뭔가가 있는걸로 보였다. 확인해보니 AndroidManifest.xml의 Tag에 android:exported 설정을 해주지 않아서 발생하는 문제였다. 이 설정을 해주면 해당 문제는 발생하지 않는다. 값은 true 혹은 false로 설정하면 되는데 android:exported="true" android:exported는 그럼 무슨 속성일까? exported 속성은 앱에서 activity, service, broadcast에 엑세스할 수 있으며 외부 응용프로그램에서 실행 될 수 있는지 정의하는데 사..

Issue Tracking 2022.01.30

undefined reference to AndroidBitmap_getInfo

Android용 OpenCV 라이브러리 개발을 하던 중 Android의 Bitmap 관련 함수들이 필요하여 사용했는데 undefined error가 떴다. undefined reference to `AndroidBitmap_getInfo' undefined reference to `AndroidBitmap_lockPixels' undefined reference to `AndroidBitmap_unlockPixels' undefined reference to `AndroidBitmap_unlockPixels' undefined reference to `AndroidBitmap_unlockPixels' 나의 경우 AndroidBitmap_getInfo, AndroidBitmap_lockPixels, And..

Issue Tracking 2022.01.15

annotation 이란?

Android 개발을 하다보면 BoilerPlate Code가 많이 발생할때가 있습니다. 개발시 BoilerPlate Code를 매번 작성하는 것은 비효율적인 방법입니다. BoilerPlate Code를 제거하는 방법은 여러가지가 있는데 그 중 하나로 annotation을 사용하는 것입니다. 간단한 예로 androidx.annotation package에 보면 IntRange라고 하는 annotation 이 있습니다. 이 annotation은 특정 Int의 값 범위를 정해주는 annotation으로 이것을 쓰지 않는다면 매번 if문을 이용해 범위를 제한하는 코드를 써야 했을겁니다. 하지만 annotation을 사용하면 위의 이미지와 같이 코드가 훨씬 더 심플하고 가독성이 좋아지는 것을 알 수 있습니다. ..

Android 2022.01.10

Android Studio: unresolved reference for java and javax imports

개발하는 도중 새로운 Module로 Java & Kotlin Library Module을 추가하였다. 문제는 추가된 Library에서 Java와 JavaX 라이브러리 참조가 되지 않는다는 것이었는데 해결방법은 간단했다. jdk.table.xml 파일을 제거하고 다시 안드로이드 스튜디오를 재실행하면 되었다 1. jdk.table.xml 제거 2. Android Studio 재실행 - jdk.table.xml 위치 jdk.table.xml의 위치는 개발하고 있는 컴퓨터의 OS나 Android Studio Version에 따라 위치가 다르다 - Android Studio Version: [Android Studio Arctic Fox 2020.3] - Window: c:\user\yourname\AppData..

Android 2022.01.07

UAAL android.content.res.Resources$NotFoundException: String resource ID #0x0

Android에서 Unity를 Library로 사용하기 위해 UAAL(Unity as a Library) 기능을 사용해보려고 하였다. Unity를 사용하면 내가 구현하고자 하는 기능을 손쉽게 구현할 수 있기 때문이었는데 사용하다가 아래와 같은 에러가 생겼다. android.content.res.Resources$NotFoundException: String resource ID #0x0 Android Resource쪽에 뭔가를 쓰려고 하는데 그것이 없어서 발생하는 문제로 보였는데 역시나 Android UAAL에서 기본으로 참조하는 resource가 있었다. 해당 에러는 안드로이드에 values/string.xml 파일에 아래의 것들을 추가해주면 해결되는 문제이다 Settings Game view

Issue Tracking 2021.12.20