UnityでのAndroidX対応(AndroidStudio未使用)

※ Qiitaからの転載記事です

はじめに

AdMobで play-services-adsのバージョン18.0.0以降を使用する場合は AndroidXへの移行が必須となる
AndroidXとは

AndroidStudioを用いたAndroidXへの移行はこちらのサイトに説明があるが、AndroidStudioを用いずにUnity単体での対応方法がなかったためメモしておく

実装環境

  • Unity 2019.1.7f1
  • Google Mobile Ads Unity Plugin v3.17

対処方法

– build.gradleファイルを書き換えるスクリプトを記述する

  • templateファイルにAndroidX用の記載を追加する
  • AndroidSupportのライブラリをAndroidX用に変更する

templateファイルにAndroidX用の記載を追加する

  • Unityメニューバーより、File→Build Settings→Player Settings→ Androidマークのタブをクリック→Publish Settingsと遷移させ、Custom Gradle Properties Template の部分にチェックを入れる

該当箇所にファイルが生成されている(上記の例では Assets/Plugins/Android/gradleTemplate.properties)ので、以下の項目を追記する

android.useAndroidX=true
android.enableJetifier=true

AndroidSupportのライブラリをAndroidX用に変更

バージョンや名前は2019年7月時点で最新のもの、最新状態はmvnrepository等のサイトで調べる

旧版

    compile group: 'com.android.support', name: 'customtabs', version: '28.0.0'
    compile group: 'com.android.support', name: 'support-annotations', version: '28.0.0'
    compile group: 'com.android.support', name: 'support-compat', version: '28.0.0'
    compile group: 'com.android.support', name: 'support-core-ui', version: '28.0.0'
    compile group: 'com.android.support', name: 'support-core-utils', version: '28.0.0'
    compile group: 'com.android.support', name: 'support-fragment', version: '28.0.0'
    compile group: 'com.android.support', name: 'support-media-compat', version: '28.0.0'
    compile group: 'com.android.support', name: 'support-v4', version: '28.0.0'
    compile group: 'com.android.support', name: 'recyclerview-v7', version: '28.0.0'
    compile group: 'com.android.support', name: 'appcompat-v7', version: '28.0.0'
    compile group: 'com.android.support', name: 'cardview-v7', version: '28.0.0'
    compile group: 'com.android.support.constraint', name: 'constraint-layout-solver', version: '1.1.3'
    compile group: 'com.android.support.constraint', name: 'constraint-layout', version: '1.1.3'

AndroidX対応版

    compile group: 'androidx.browser', name: 'browser', version: '1.0.0'
    compile group: 'androidx.annotation', name: 'annotation', version: '1.1.0'
    compile group: 'androidx.core', name: 'core', version: '1.1.0-rc02'
    compile group: 'androidx.legacy', name: 'legacy-support-core-ui', version: '1.0.0'
    compile group: 'androidx.legacy', name: 'legacy-support-core-utils', version: '1.0.0'
    compile group: 'androidx.fragment', name: 'fragment', version: '1.1.0-rc03'
    compile group: 'androidx.media', name: 'media', version: '1.1.0-rc01'
    compile group: 'androidx.legacy', name: 'legacy-support-v4', version: '1.0.0'
    compile group: 'androidx.recyclerview', name: 'recyclerview', version: '1.1.0-beta01'
    compile group: 'androidx.appcompat', name: 'appcompat', version: '1.1.0-rc01'
    compile group: 'androidx.cardview', name: 'cardview', version: '1.0.0'
    compile group: 'androidx.constraintlayout', name: 'constraintlayout-solver', version: '2.0.0-beta2'
    compile group: 'androidx.constraintlayout', name: 'constraintlayout', version: '2.0.0-beta2'

コメント

タイトルとURLをコピーしました