2017年6月12日月曜日

react-nativeでruntime permissionのエラーが出来た時の対応方法


この不具合のために10時間位の遠回りをしてしまったため、メモを共有します。

症状

react-native run-andoidを実行すると、下記のエラーが出ました。
FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:installDebug'.
> com.android.builder.testing.api.DeviceException: com.android.ddmlib.InstallException: Failed to finalize session : -26: Package com.renatalesp32controlapp new target SDK 22 doesn't support runtime permissions but the old target SDK 23 does.

原因

自分の場合は、
「android/app/build.gradle」と
「android/app/src/main/AndroidManifest.xml」の
「targetSdkVersion」を
22 -> 23 -> 22 のように、
新しくして古いのに戻したのが原因でした。

対応

react-native run-andoirdでインストールしたアプリをアンインストールしてください。
アプリのアンインストールは、アプリのアイコンを長押しして、「アンインス…」にドラッグすることで可能です。


自分の場合、インストール済みのアプリを一旦アンインストールすると、その後は「react-native run-android」が期待通り実行できるようになりました。

この症状になるのは今回の場合以外にもあるかもしれませんが、「アプリをアンインストールすると戻る」ということもあるので、sdk関係のバグに取り組む前に、試しにやってみることをお勧めします。

共有する情報は以上です。

0 件のコメント :