数年ぶりのAndroidプロジェクトのアップデートに伴う盛りだくさんのエラー【Android Studio】

スポンサーリンク
AdMob
スポンサーリンク
↑管理人が個人でUnity+Live2Dで作成しているスマホゲームです

数年ぶりにAndroidアプリのAdmobのアップデートを行いました。
https://developers.google.com/admob/android/app-open?hl=ja
上の手順に沿って実装を変更し、Gradleもアップデートしましたが、以下のような問題が。

スポンサーリンク

色々なimportエラー

import android.support.v7.widget.RecyclerView;
↓
import androidx.recyclerview.widget.RecyclerView;

<android.support.v4.widget.SwipeRefreshLayout>
↓
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout>

<android.support.design.widget.FloatingActionButton>
↓
<com.google.android.material.floatingactionbutton.FloatingActionButton>

<android.support.design.widget.NavigationView>
↓
<com.google.android.material.navigation.NavigationView>

<android.support.v4.widget.DrawerLayout>
↓
<androidx.drawerlayout.widget.DrawerLayout>

<android.support.v7.widget.Toolbar>
↓
<androidx.appcompat.widget.Toolbar>

<android.support.design.widget.AppBarLayout>
↓
<com.google.android.material.appbar.AppBarLayout>

<android.support.v7.widget.ShareActionProvider>
↓
<androidx.appcompat.widget.ShareActionProvider>

<android.support.design.widget.CoordinatorLayout>
↓
<androidx.coordinatorlayout.widget.CoordinatorLayout>

こういった感じに古いパッケージのパスを変更していきます。古いimport文は一旦削除して、エラー部分から自動修正した方が楽かもしれません。

【Android】java.lang.ClassNotFoundException: Didn’t find class “android.support.multidex.MultiDexApplication”エラー

android:name="android.support.multidex.MultiDexApplication"
↓
android:name="androidx.multidex.MultiDexApplication"

AndroidManifest.xmlを上のように変更します。

AndroidStudioでエミュレータを起動しようとするとemulator process for avd has terminatedと出て落ちる

エミュレータのSystemImageをx86からx86_64のものに変更します。

VolleyのonResponseが返ってこない

onErrorResponse(VolleyError error)のerror.networkResponseもresponse.dataもnullに。

アクセス先が非SSLの場合にAndroid9以降ではデフォルトではアクセス拒否します。
なので、AndroidManifest.xmlのapplicationタグに

android:usesCleartextTraffic="true"

を追加します。
もし個別にドメインを指定したい場合は、res/xml/network_security_config.xmlというファイルを作成し、そこに

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config cleartextTrafficPermitted="true">
        <domain includeSubdomains="true">ドメイン1</domain>
        <domain includeSubdomains="true">ドメイン2</domain>
    </domain-config>
</network-security-config>

という風に書いた上で、AndroidManifest.xmlのapplicationタグに

android:networkSecurityConfig="@xml/network_security_config"

を追加します。

1 Star2 Stars3 Stars4 Stars5 Stars (まだ投票されていません)
読み込み中...

コメント

広告ブロッカーを無効にしてください。

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