본문 바로가기

프로그래밍/Android-Java34

[Android] 구글 play 스토어 등록된 앱 업데이트 방법 구글 play 스토어에 개발한 앱을 등록하고, 이슈가 생겨 수정된 앱을 스토어에 업데이트 해야 하는데 그 방법이 헷갈릴 때가 있었다. 그래서 그 절차를 상세하게 정리해 놓고 두고두고 참고하려고 한다. Contents 구글 play 스토어 등록된 앱 업데이트 업데이트 방법 01. 구글 플레이 콘솔 사이트 접속하여 Play Console로 이동 선택 구글 플레이 콘솔 사이트 바로가기 02. 구글 개발자 계정으로 로그인 03. 등록된 앱 선택 04. 좌측 메뉴 리스트에서 출시 - 프로덕션 메뉴 선택 05. 우측 상단에 새 버전 만들기 선택 06-1. 업데이트할 App Bundle 업로드 app bundle 생성하는 방법 바로가기 버전 코드 사용 중 이슈 해결 방법 바로가기 06-2. 버전 세부정보 작성 후 다.. 2023. 2. 17.
[Android] A failure occurred while executing com.android.build.gradle.tasks.PackageAndroidArtifact$IncrementalSplitterRunnable 이슈 해결 기능 추가 작업 및 로그 추가를 하고 apk를 생성하려는데 정말 짜증나게도 위와 같은 에러가 나면서 생성이 안됐다. 그래서 구글링을 해본 결과... 1. 첫 번째 해결 방법 gradle.properties 파일에서 org.gradle.jvmargs=-Xmx2048M >> org.gradle.jvmargs=-Xmx2g 이렇게 사이즈를 늘려보라길래 했더니 정말 됐다! 근데 그것도 잠시뿐... 또 기능 추가 후 apk 생성하려하면 똑같은 에러가 떴다. 여기서 1차 빡침... 2. 두 번째 해결 방법 필요없는 코드를 지우고, 필요없는 파일들을 지워봤다. 근데 이것도........ 되긴 되는데 잠시 후 또 코드 한 줄 추가해도 에러뜬다 ㅠ.ㅠ 3. 세 번째 해결 방법 sdk 버전 높이기! build.gradle(.. 2022. 12. 22.
[Android] apk 빌드 에러 > The minSDK Version can not be specified in the AndroidManifest.xml file. apk를 생성하려고 하는데 다음과 같은 에러가 발생했다. Execution failed for task ':app:lintVitalRelease'. > Lint infrastructure error Caused by: java.lang.reflect.InvocationTargetException at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethod.. 2022. 12. 21.
[ANDROID] onvif ptz (2) 생각보다 onvif 쪽 게시글에 방문하시는 분들이 많은 것 같아 여러가지 지식을 공유하려 한다. 물론 안드로이드 jni 기준이다! 나는 안드로이드에 onvif 라이브러리를 아래 github에 있는 코드를 포팅했다. 아래 코드는 c코드로 되어있다. https://github.com/As772309423/onvif-server-with-rtsp/tree/a1545162ff9e12efcf303cf403cdc4e4ab90ecc8 GitHub - As772309423/onvif-server-with-rtsp: The main function of this project is onvif server-side device discovery and docking The main function of this proje.. 2022. 1. 14.
[ANDROID] JNI Error:(150) undefined reference to '함수이름' JNI 빌드 시 Error:(150) undefined reference to '함수이름' 라고 에러가 뜨면서 빌드가 실패하는 경우가 종종 있다. 왜 그런지 열심히 구글링 한 결과............... 나는 ~.c 파일의 함수들이 선언된 헤더를 ~.cpp 파일에서 그냥 #include로만 사용했기 때문이다. 이를 해결하기 위해선.. #ifdef __cplusplus extern “C” { #endif #include “cy.h” #ifdef __cplusplus } #endif 위와 같이 c 헤더 파일을 사용한다는 의미의 조건문을 써주면 빌드 완료!!! 2022. 1. 9.
[ANDROID] JNI (c++) 에서 JAVA 함수 콜하기 자바에서 이벤트 처리를 할 때 jni쪽으로 전달할 순 있지만, 역으로 jni 쪽에서 이벤트 처리를 할 때 java 쪽으로 이벤트를 주고 싶었다. 근데 이미 짜여져 있는 코드에서 추가 수정 작업을 하려니 JNIEnv *env 위 env 변수가 발목을 잡았다. 따로 전역변수 선언해서 저장해 놓고 쓸 수가 없었다................ 그래서 삽푸다가 겨우 해결한 방안은 다음이다. static JavaVM *rjvm = NULL; static jobject robject = NULL; extern "C" JNIEXPORT void JNICALL Java_com_cy_test_MainActivity_onvifStartServer( JNIEnv *env, jobject thiz) { main_onvif_se.. 2022. 1. 7.
[ANDROID] Mediacodec을 사용한 높은 비트레이트 낮추기 후 완전 삽펐다. 업무시간 7시간을 날렸다.. onPreviewFrame에서 넘어온 데이터를 미디어 코덱에 넣고 인코딩 돼서 나온 데이터 크기가 20만이 넘었다. 즉, bufferinfo size가 20만이 넘은 것이다. 물론 중간에 한 번씩 20만 넘는 사이즈로 튀는건 괜찮은데 계속 20만 이었다가 중간에 한 번씩 80만으로 튀는 현상이 발생했다...... mMediaFormat.setInteger(MediaFormat.KEY_BIT_RATE, 2000000); 위 코드에서 비트레이트 값을 아무리 바꿔봐도 1도 적용이 안돼보였다... 위 그림에서 sum * 8 값이 계산된 비트레이트 값인데 약 60메가가 나온다. 해결 방법은 간단하다. mMediaFormat.setInteger(MediaFormat.K.. 2022. 1. 5.
[ANDROID] onvif ptz 처음에 onvif 라는 것을 접하게 되었을 때, onvif가 뭐지... ptz 기능을 컨트롤 할 수 있다는데 ptz는 또 뭐지.. 싶었다. 아무래도.. 카메라 쪽을 이렇게 심화적으로 다루는게 익숙치 않다 보니 처음 접하는 것도 너무 많았다 ㅜ 우선 간단하게 의미를 짚어보고 가겠다. ONVIF란 ? 1. (Open Network Video Interface Forum) 오픈 네트워크 비디오 인터페이스 포럼의 약자로 보안목적의 물리적인 IP기반 제품에 사용되는 프로토콜 2. 영상, 음성, 이벤트 송수신 : RTP/RTSP // 제어, 설정, 조회 : WSDL, SOAP 3. HTTP기반 프로토콜 PTZ란 ? - 회전 (PAN), 수직 방향 기울기 (Tilt), 줌 (Zoom) 만약 ptz 기능을 가진 ip카.. 2021. 12. 21.
[ANDROID] ONVIF 라이브러리 https://github.com/RootSoft/ONVIF-Java GitHub - RootSoft/ONVIF-Java: A Java client library to discover, control and manage ONVIF-supported devices. A Java client library to discover, control and manage ONVIF-supported devices. - GitHub - RootSoft/ONVIF-Java: A Java client library to discover, control and manage ONVIF-supported devices. github.com https://github.com/extinguish/onvif-camera GitHub.. 2021. 12. 16.
[FFMPEG/VLC] TCP 스트리밍 방법 (Live555 기준) (1) FFMPEG TCP 스트리밍 방법 ffplay -rtsp_transport tcp -i rtsp://xxx.xxx.xxx.xxx:xxxx/ (2) VLC TCP 스트리밍 방법 1. 도구 > 환경설정 2. 상단 입력/코덱 창에서 하단 우측 "RTSP (TCP) 위에서 RTP 사용 선택 후 저장 2021. 11. 1.