Google Play ConsoleProguard R8 / ProGuard難読化コード難読化解除

【ReactNavie】この App Bundle に関連付けられている難読化解除ファイルはありません〜対処方法〜

google search engine on screen Google Play Console
スポンサーリンク

ReactNative/Expo Bare 環境で、Google Play Console(GPC) にアプリのaabファイルをアップロードしてから下記のような警告が出た場合のシンプルな対処方法をご紹介します。

警告メッセージ

この App Bundle に関連付けられている難読化解除ファイルはありません。難読化コード(R8 / ProGuard)を使用している場合、難読化解除ファイルをアップロードすると、クラッシュと ANR をより簡単に分析、デバッグできるようになります。R8 / ProGuard の使用は、アプリサイズの縮小につながります。

開発環境(Expo Bare)

  • “typescript”: “^5.2.2”
  • “expo”: “~49.0.13”,
  • “react”: “18.2.0”,
  • “react-native”: “0.72.6”

対処

Proguard を有効にする

Proguard を実行して、リリース ビルドの Java バイトコードを縮小します。

Proguard は、APK のサイズをわずかに小さくできるツールです。 これは、アプリが使用していない React Native Java バイトコード (およびその依存関係) の部分を削除することによって行われます。

Proguard を有効にするには、android/app/build.gradle を編集します。

// android/app/build.gradle

/**
 * Set this to true to Run Proguard on Release builds to minify the Java bytecode.
 */
// def enableProguardInReleaseBuilds = (findProperty('android.enableProguardInReleaseBuilds') ?: false).toBoolean()
def enableProguardInReleaseBuilds = (findProperty('android.enableProguardInReleaseBuilds') ?: true).toBoolean()

プロジェクト固有の保持オプションを追加する(オプション)

特に expo-notifications を実装している場合は以下の -keep オプションを追加しないと、通知機能が無効になるのでご注意ください。

// android/app/proguard-rules.pro に下記のように追加する

# Add any project specific keep options here:
# expo-notifications
-keep class expo.modules.notifications.NotificationsScoper { *; }

これで完了です!

後は、再度 Android App Bundle ファイルを生成し GPC へアップロードして警告が出るか確かめるだけです!

参考リンク

Enabling Proguard to reduce the size of the APK

コメント

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