2022/04 6

안드로이드 Unity 플러그인 만들기

회사에서 GoogleAnalaytics나 AppsFlyer처럼 게임 중 발생하는 이벤트들을 캐치해서 보내는 SDK를 개발할 일이 생겼는데, Native를 왠만하면 이용하지 않는 편으로 구현하려했으나 최종 코드 가독성이라던가 파일 관리, 추상화 등의 이유로 Native를 사용하기로 했다. 오늘은 그때를 돌아보며 귀찮지만...처음 연결했던 방법을 적어보려한다. 1. classes.jar 추출하기 이번이 나의 처음 SDK 개발이었으며, Unity조차도 잘 몰랐다. 처음엔 Unity와 Android가 어떻게 소통한다는거지? 부터 이해가 필요했다. 둘 사이의 소통을 위해, Unity 라이브러리가 존재한다. 일반적으로는 아래 경로들에 위치하며, 이름은 classes.jar다. 이 파일을 복사하여 어딘가에 저장해두자..

kotlin dsl 적용중 versionNeededToExtract 오류 해결방법

java.lang.IllegalArgumentException: Unexpected versionNeededToExtract (0) at androidx/viewbinding/R.class at org.jetbrains.kotlin.cli.jvm.compiler.jarfs.ZipImplementationKt.parseCentralDirectory(ZipImplementation.kt:110) at org.jetbrains.kotlin.cli.jvm.compiler.jarfs.FastJarHandler.(FastJarHandler.kt:25) at org.jetbrains.kotlin.cli.jvm.compiler.jarfs.FastJarFileSystem$myHandlers$1.fun(FastJarFil..

Falcon req.get_param()으로 모든 파라미터를 받아보자

일반적으로 Falcon에서는 Query parameter에 있는 값을 req.get_param('name')으로 읽어올 수 있다. 하지만 폼데이터 역시 동일한 방법으로 얻어오면 구분은 안가긴 하지만 편할 것이다. 간단한 세팅으로 이를 실현시킬 수 있다. application/x-www-form-urlencoded application/x-www-form-urlencoded로 들어오는 값들도 req.get_param()을 통해 얻고 싶다면 아래 라인을 추가하면 된다. app.req_options.auto_parse_form_urlencoded = True multipart/form-data 추가로 falcon-multipart라는 모듈 설치가 필요하다. pip install falcon-multipart ..