iMX515でNicoRo α版が予期せぬエラーで落ちるときは、パーミッションを手動で設定してみる
iMX515でNicoRo α版がインストールできたものの、いざ動画を再生しようとすると予期せぬエラーでアプリが強制終了してしまいます。アプリを再起動すると、強制終了の原因が表示されました。
今回は、以下のような内容でした。
java.lang.SecurityException: Neither user 10039 nor current process has android.permission.WAKE_LOCK.
どうやら、スリープさせない(WAKE_LOCK)のパーミッションが足りないようです。
正直なところiMX515はスリープ周りが相当怪しいので、仕方ない気も。。
とりあえず、以下の手順でWKAE_LOCKパーミッションを手動で追加してあげることで、NicoRo α版で再生できるようになったことは確認しました。
以下、WKAE_LOCKパーミッションを手動で追加する方法
※自己責任でよろしくお願いします。
※Android SDKやドライバをインストールして、iMX515をUSB接続している前提です。
packages.xmlを取り出す
adb pull /data/system/packages.xml
テキストエディタで開いて、name="jp.sourceforge.nicoro"〜となっている箇所を確認
<package name="jp.sourceforge.nicoro" codePath="/data/app/jp.sourceforge.nicoro-2.apk" flags="0" ts="1296148152000" version="19" userId="10056"> (中略) <perms> <item name="android.permission.CAMERA" /> <item name="android.permission.INTERNET" /> <item name="android.permission.WRITE_EXTERNAL_STORAGE" /> <item name="com.android.browser.permission.READ_HISTORY_BOOKMARKS" /> </perms> </package>
permsにWAKE_LOCKがなかったら追加する
<item name="android.permission.WAKE_LOCK" />
あとは、packages.xmlを戻して再起動
adb push packages.xml /data/system/