ijkplayer android so crash 분석 레코드
기본 스크립트에서 생성된 so는strip을 거쳤습니다. 스크립트를 바꿔야 합니다
FFmpeg
FFmpeg는 configure에서 자동으로 생성된makefile 파일이기 때문에 configure에서 부작용이 없는 프로그램을 지정하거나 비워 두십시오.
./configure $FF_CFG_FLAGS \
--extra-cflags="$FF_CFLAGS $FF_EXTRA_CFLAGS" \
--extra-ldflags="$FF_DEP_LIBS $FF_EXTRA_LDFLAGS"
--strip="${FF_CROSS_PREFIX}-size"
ijkplayer
안드로이드의 Makefile은 비교적 직설적이며, 인터넷의 방법을 참고하여 이 줄을 더한다
cmd-strip :=
2. 디버그 정보가 있는 apk 설치
프로젝트의 so를 교체하고 안드로이드 스튜디오로 실행하는 앱을 사용하면gradle이 자동으로 strip에서 디버깅 정보를 잃어버리는 것을 발견하면 정말 헛수고입니다.
해결 방법: apk를 풀고 안에 있는 so 파일을 수동으로 교체하여 apk로 다시 압축합니다.
새 apk를 설치할 수 없습니다. 서명이 필요합니다.좋은 물건 uber-apk-signer를 추천합니다.
3. 크래쉬 분석
ndk-stack -sym
슈퍼 이기, 가질 만하다.PS:ijkplayer 스크립트를 컴파일해서 만든 것은 사실 기호 정보가 있는 것입니다. 제가 찾은 위치가 잘못되었습니다.파일은 두 군데에 있는데 하나는'ijkplayer/ijkplayer-armv7a/src/main/libs/armeabi-v7a'이고, 다른 하나는'ijkplayer/ijkplayer-armv7a/src/main/obj/local/armeabi-v7a'이며, 후자는 디버깅 정보를 가지고 있다.
어떻게 so에 디버깅 정보가 있는지 봅니까?
reaelf -S my.so
, 있으면.디버그 관련 필드입니다. 디버그 정보가 있음을 설명합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.