안드로이드스튜디오로 앱을 개발하는 과정에서
플러그인, 외부 라이브러리를 추가하다 보면
"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'
}
...
}
* 실제 내 앱소스내 코드임 *
위와 같이 컴파일 환경에서 제공하는 플랫폼별 참조를 전부 한번에 처리하는게 관련 오류를 원천 차단할 수 있는 방법이다.
1. NuGet 패키지 설치 (패키지 관리자 콘솔 이용) Install-Package Xamarin.GooglePlayServices.Ads 2. Google Play Services 추가 - 프로젝트의 Android 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 "Google Play 서비스 추가" 선택 - "광고" 카테고리에서 "광고"를 선택하고 확인 버튼 클릭 3. Android 매니페스트 업데이트 - Android 프로젝트의 Properties 폴더에서 AndroidManifest.xml 파일 선택 - manifest 요소에 다음 사용 권한 추가 <uses-permission android:name="android.permission.INTERNET" /> - application 요소 내에 다음 <meta-data> 요소를 추가 <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="현재 앱의 AdMob ID" /> 4. 레이아웃 파일에 광고 뷰 추가 - 광고를 추가할 레이아웃 파일 (예: activity_main.axml)을 오픈 - AdView를 추가하기 위해 원하는 위치에 <com.google.android.gms.ads.AdView> 요소 추가 <com.google.android.gms.ads.AdView android:id="@+id/adView" ...
댓글
댓글 쓰기