Xperia 1の縦長画面に非対応のアプリから余白を消す

この記事ではアプリのapkを書き換えて21:9のような縦長画面に対応させる方法を紹介します。

最近はXperia 1のような縦長の画面をもつ端末が多く登場していますが、古いAndroid OS向けに作られたアプリを動かすと、下側に余白ができてしまいます。アプリ側が縦長画面に対応してくれれば問題はないのですが、更新が止まっているアプリの場合は利用者側で対処する必要があります。

今回この方法で縦長画面に対応させたアプリはRSS閲覧アプリのgReader Proです。長らく更新が止まっていてPlayストアからの配信も停止されている状態ですが、代わりになる決定版のアプリが無く、まだ根強い人気があります。(私もinoreaderやFeedMeに移ってみたものの結局gReaderを使い続けています。)

なお、対応作業を行うにあたって、rootの取得は不要です。

対応方法

以下のようにすればアプリケーションを縦長画面に対応させることができます。

1. apkを入手する

Android アプリケーションのパッケージを入手し、PCに保存します。
APK Mirrorのようなダウンロードサイトから入手するのが一番簡単ですが、有料のアプリやもう配布が終了しているアプリの場合は、次のようにして端末からapkを入手します。
  1. 端末をPCに接続してadbを使える状態にし、コマンドプロンプトから次のように入力し、目当てのアプリのパッケージ名を調べます。
    • adb shell pm list packages -f 
  2. パッケージ名を指定してapkファイルを転送します。
    • adb pull /data/app/パッケージ名/base.apk

2. APK Editor Studioをインストールする

以下のサイトからPC向けのインストーラを入手します。Windows用は apk-editor-studio_win32_1.4.0.msi のような名前になっています。

3. APK Editor Studioにapkを読み込ませる

  1. APK Editor Studioを起動し、File → Open APK から先ほどPCに保存したapkファイルを読み込ませます。
  2. 読み込みが完了すると左上のウィンドウに Unpacking APK... Reading APK content... Done. と表示されます。


4. Manifest ファイルを書き換える

  1. 左下ウィンドウの下側にあるタブ「File System」を選択するとファイル一覧が表示されますので、「AndroidManifest.xml」を選択します。
  2. 選択すると真ん中のウィンドウにファイルの内容が表示されますので、下側にスクロールし、最後の </application> の前に
     <meta-data android:name="android.max_aspect" android:value="2.4"/>
    を追加します。
  3. メニューの Editor → Save Resource を選択し、書き換えたファイルを保存します

5. 書き換えたapkを端末に転送する

  1. 先に端末側で対象のアプリを削除しておきます
    • 書き換えによって署名に使われる鍵が変わり、インストールが拒否されるためです
    • データの引継ぎが必要な場合はあらかじめバックアップを取っておきます
  2. File → Install APK... を選びインストールダイアログを表示されます
  3. 端末の一覧が表示されますので、対象の端末を選び Install を選択します
これ書き換えたアプリが端末にインストールされ、縦長画面に対応するようになったはずです。

最後に

アプリのapkを書き換えて縦長画面に対応させる方法を紹介しました。

ここで紹介した方法は、マルチウィンドウへの対応など他にも応用が利くと思います。今回縦長画面に対応させるにあたってはこのページの情報を利用しています。何かアプリの挙動を変えたい場合には、こういった公式ドキュメントが参考になるはずです。

しかしながら、AndroidManifest.xml の書き換えだけではうまくいかないこともありますので、その点は注意してください。

コメント

このブログの人気の投稿

国産キャリア版Xperia 1 (802SO) のbootloaderをunlockしてrootを取得する

Synology ds918+ に 2.5Gbps / 5Gbps の USB LAN を接続する

Xperia 1 (802SO) のrootを何も失わずに取得する