안드로이드스튜디오로 앱을 개발하는 과정에서
플러그인, 외부 라이브러리를 추가하다 보면
"2 files found with path 'lib/x86_64/libc++_shared.so' from inputs: "과 같은 오류를 만날 수 있다.
'lib/x86_64/libc++_shared.so' 파일이 2개의 라이브러리에서 참조되어 발생하는 문제로
컴파일 환경에 따라 플랫폼 부분은 변경되면 나타날 수 있다
app수준의 build.gradle 파일에 다음과 같이 처리하면 관련 문제를 깔끔하게 처리 가능하다.
android {
...
packagingOptions {
pickFirst 'lib/x86/libc++_shared.so'
pickFirst 'lib/x86_64/libc++_shared.so'
pickFirst 'lib/arm64-v8a/libc++_shared.so'
pickFirst 'lib/armeabi-v7a/libc++_shared.so'
}
...
}
* 실제 내 앱소스내 코드임 *
위와 같이 컴파일 환경에서 제공하는 플랫폼별 참조를 전부 한번에 처리하는게 관련 오류를 원천 차단할 수 있는 방법이다.
안드로이드 스튜디오에서 자바기반의 앱을 만드는 과정에서 ConstraintLayout을 뷰의 오른쪽 사이드 중간에 배치해야할 상황이 생겼다. 아래 4개 속성으로 부모뷰의 오른쪽 사이드 중간에 배치문제 해결. //오른쪽에 배치될 수 있도록 설정 app:layout_constraintRight_toRightOf="parent" //수직으로 중앙에 위치시키도록 설정 app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent" // 뷰를 수직으로 중앙에 위치시키기 위한 비율 값 설정. 0.5는 화면의 중앙에 위치하는 값 app:layout_constraintVertical_bias="0.5"
댓글
댓글 쓰기