현인
[Android Studio & Kotlin] Android Studio에서 MetaMask 연동하기 - WalletConnect 설치 본문
기술 학습
[Android Studio & Kotlin] Android Studio에서 MetaMask 연동하기 - WalletConnect 설치
현인(Hyeon In) 2023. 3. 10. 17:17안드로이드 스튜디오에서 MetaMask를 실행하기 위해서는 WalletConnect 라이브러리를 사용해야 한다. WallectConnect라이브러리 공식문서를 참고하여 개발하였다.
https://docs.walletconnect.com/2.0/
안드로이드 스튜디오 버전 : 2022.1.1.21
공식문서 내용
코틀린 스크립트 기반 gradle 파일을 예제로 설명하고 있어서 코틀린 스크립트로 gradle을 설정하지 않았을 경우
root/build.gradle.kts 에 설정하는 부분을 setting.gradle 파일에 넣어주면 된다.
setting.gradle
...
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
maven { url "https://jitpack.io" }
}
}
...
app/build.gradle.kts 파일은 build.gradle(Module :app) 파일에 넣어주면 되고, 코틀린 스크립트와 Gradle의 구조가 달라서 문법을 수정해서 적용해야 한다.
build.gradle(Module.app)
...
dependencies {
implementation 'androidx.core:core-ktx:1.7.0'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'com.google.android.material:material:1.8.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
implementation "com.walletconnect:android-core:1.11.1"
implementation "com.walletconnect:web3wallet:1.4.1"
}
처음에 괄호만 제거하고 그냥 복붙했다가 라이브러리를 찾을 수 없다는 에러가 떴다.
release_version 부분을 공식문서에서 언급하고 있는 버전으로 바꿔서 넣어주자
위 내용을 적용하고 실행 시켰더니 아래와 같은 에러가 발생하였다.
dataExtractionRules가 중복 정의 되었다고 한다.
<application
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/Theme.Test"
tools:targetApi="31"
tools:replace="android:dataExtractionRules">
에러에서 tools:replace를 추가하라고 해서 추가해줬더니 해결되었다.
반응형
'기술 학습' 카테고리의 다른 글
[Next.js] 라이브러리 vs 프레임워크 (0) | 2023.04.17 |
---|---|
[Next.js] Next.js 설치 및 실행 (0) | 2023.04.13 |
[JavaScript] 문자열 다룰 때 유용한 String 메서드 (0) | 2023.03.21 |
[TypeScript] interface와 type의 차이점 (0) | 2023.03.15 |
[React] SPA(Single Page Application) (0) | 2023.03.10 |