Android Studio 가 so 파일 C/C++코드 를 디버그 하 는 방법 에 대해 간단히 이야기 합 니 다.
첫째,NDK 와 빌 드 도 구 를 다운로드 하여 로 컬 코드(native code)를 컴 파일 하고 디 버 깅 하려 면 다음 구성 요소 가 필요 합 니 다.
1.The Android Native Development Kit(NDK):Android 에서 C 와 C++코드 를 사용 할 수 있 는 도구 모음 입 니 다.
2.CMake 외부 구축 도구.ndk-build 만 사용 하려 면 사용 하지 않 아 도 됩 니 다.
3.LLDB:Android Studio 에서 로 컬 코드 를 디 버 깅 하 는 장인.
메모:Android Studio 에서 CMake 또는 ndk-build 를 사용 하려 면 Android Studio 2.2 또는 더 높 은 버 전 을 사용 해 야 하 며,Android Plugin for Gradle 2.2.0 이상 의 버 전 을 함께 사용 해 야 합 니 다.
위 구성 요소 설치:
android-ndk-r11b 가 따로 다운로드 되 었 습 니 다.NDK 를 다운로드 하지 않 습 니 다!최신 NDK 다운로드)를 선택 하고 애플 리 케 이 션 을 클릭 한 다음 OK 를 클릭 하 는 것 이 좋다.
2.새 항목:
1.include C++support 를 체크 합 니 다.
2.마지막 단계 에서 다른 C++라 이브 러 리 를 선택 할 수 있 습 니 다.
설명:C/C++를 지원 하지만 C/C++의 모든 기능 을 완전히 지원 하 지 는 않 습 니 다.jni 의 약속 에 따라 야 합 니 다.구체 적 으로 jni 매 뉴 얼 C+Standard:C++라 이브 러 리 를 참조 할 수 있 습 니 다.
Runtime Type Information Support(-frtti):RTTI 를 지원 하고 싶다 면 선택 하 십시오.선택 하면 Android Studio 는 module 층 의 build.gradle 파일 에 있 는 cppFlags 에-frtti 플래그 를 추가 합 니 다.
설명:
buildTypes{
debug{
jniDebuggable true
jniDebuggable = true
}
}
2.Android Manifest 속성 설정:android:debuggable="true"
<application android:label="@string/app_name"
android:debuggable="true">
<activity android:name=".HelloJni"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
3.Run/Debug 설정a,run 드 롭 다운 item,Edit Configurations,팝 업 설정 창 선택
b.클릭➕새 configuraionts,안 드 로 이 드 네 이 티 브 항목 선택
c.native 가 실행 하 는 이름 을 설정 합 니 다.예 를 들 어 hellojniNative.
d.실제 컴퓨터 나 시 뮬 레이 터 디 버 깅 을 선택 하 십시오.
정지점 디 버 깅 실행
그림 1,그림 2 는 app-native 를 실행 하 는 두 가지 방식 으로 app-native 를 선택 한 후 debug->app-native;다음은 C/C++파일 에서 단일 디 버 깅 을 할 수 있 습 니 다.
여기에 문 제 를 잠시 남 겨 두 겠 습 니 다.이미 컴 파일 된 기호 표 가 있 는 동적 라 이브 러 리.so 파일 이 라면 어떻게 디 버 깅 을 합 니까?
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.