特定のアプリケーションをsdextに送る
P-01Dで某ゲームが動作するのかを試してみたくて。
アプリケーションサイズはそこまで大きくないけど、その後のダウンロードに時間がかかる&data領域を大きく食い潰す類のアプリケーションに有効です。
条件
- rooted (busybox入り)
⇒ rooted端末での起動を制限しているアプリケーション、特にソーシャルゲームの類でやると垢BANされる可能性もあるので自己責任で。
- data領域の十分な空き
⇒ 一端インストールした後でsdext送りにします。
手順
sdext領域を作成(基本的にext2が無難らしいけどお好きに)
Link2SDでマウントできるように準備
対象アプリケーションをインストール
root切って一度アプリケーションを立ち上げる、そのまま終了する
以下をメモ帳か何かにコピペして適宜書き換え、rootに昇格したプロンプトで実行。シェルスクリプト化する場合は文字コードとか改行コードに注意。
#!/system/bin/sh # Example: # APK: /data/app/klb.android.lovelive-1.apk # DATA-DIR: /data/data/klb.android.livelive # APK & DIR Name APK_NAME="klb.android.lovelive-1.apk" DIR_NAME="klb.android.lovelive" # APK Link (deprecation) #if [ -e /data/app/${APK_NAME} -a ! -e /data/sdext2/${APK_NAME} ] ; then # cp -a /data/app/${APK_NAME} /data/sdext2/${APK_NAME} # busybox rm /data/app/${APK_NAME} #fi #if [ -e /data/sdext2/${APK_NAME} ] ; then # ln -s /data/sdext2/data/${APK_NAME} /data/app/${APK_NAME} #fi # DATA-DIR Link if [ -e /data/data/${DIR_NAME} -a ! -e /data/sdext2/data/${DIR_NAME} ] ; then cp -R -a /data/data/${DIR_NAME} /data/sdext2/data/${DIR_NAME} busybox rm -rf /data/data/${DIR_NAME} fi if [ -e /data/sdext2/data/${DIR_NAME} ]; then ln -s /data/sdext2/data/${DIR_NAME} /data/data/${DIR_NAME} fi
※APKのlinkはGoogle Playでの更新を検証どころか想定すらしてないので非推奨。必要なら適当に書き換えて使って下さい。