2017-10-10 19 views
-1

Androidのapkを20kb未満で構築する必要があり、アプリケーションの残りのコンテンツを動的にダウンロードする必要があります。 私は単純なアンドロイドアプリを作成し、ソースコードなしでビルドすると、少なくとも3 MBの結果となります。 だから、pls誰かが私にどのようにkbでapkを作ることができるか教えてくれます。Android apkのサイズが20kb未満

+1

なぜですか? 20k未満では魔法はありません。そして、それ以外のアプリだけをダウンロードするコードはそれ以上のものになる可能性がある。 –

+2

このリンクを確認https://stackoverflow.com/questions/29785088/android-new-project-no-code-apk-is-4-mb – shravani

答えて

2

私はこれが楽しい挑戦になると判断し、16kbの小さなアプリケーション(実際の機能はありません)を作りました。 You can find the source code here。 ldpiアセットだけではさらに小さくなっていました。

いくつかの注意点:

  • は、任意の実際の機能を持つアプリは、この小さなに来ることを期待しないでください。 20kbは20,000文字分のデータで、非常に短いストーリーの長さに相当することに注意してください。 20kbは実際には現実的ではなく、あなたは後でとにかく「残りのアプリ」をダウンロードするときに、あなたのユーザの電話で余分なスペースを占有することになります。

  • 私の例はmdpiアセットだけを持っています。ランチャーアイコンのようなものはアプリケーションにバンドルする必要があるため、アイコンは大きなデバイスではひどく見えるか、要件を変更する必要があります。

いくつかのヒント:

  • ProGuardのを有効にします。 minificationと難読化の両方。後者はハイパー最適化ですが、それを小さくしようとすると、すべてのビットが役立ちます。

  • ミッションクリティカルではないライブラリをすべて取り出します。あなたはサポートライブラリのいずれかでそれを作るつもりはありません。

  • 可能な最低解像度の画面のみをサポートします。 ldpiアセットは高密度画面では見た目が悪くなりますが、指数関数的にhdpiなどの指数関数的に小さいmdpiよりも小さくなります。リソースはアプリケーションの最大部分であることがほぼ保証されています。

  • Shrink Your Code documentationをすべて読んでください。リソースを提供するライブラリを使用している場合は、use resConfigsに言語、密度、および必要のないネイティブABIを取り除くためのヒントがあります。

  • Androidスタジオ3.0には、APKのどの部分が最大のスペースを占めているかを細分する「APK解析」機能があります。サイズを削減するためにターゲットを特定するために使用します。

+0

"実際の機能を持つアプリがこの小さな... 20kbは本当に現実的ではありません。今日の子供たち! BBC Microの元エリートはわずか22kBでした([Telegraph article](http://www.telegraph.co.uk/games/11051122/Elite-the-game-that-c​​hanged-the-world.html))。 – TripeHound

+0

640×256,8色のディスプレイを搭載した8ビットコンピュータ用のアプリケーションと1440x2880の1677万色ディスプレイを搭載した64ビットコンピュータ用のアプリケーションを比較すると、リンゴとオレンジの比較よりも少し上回ります) –

+0

私の舌は多分私の頬に:-) – TripeHound

関連する問題