2

ここで説明されている単純な「最後の既知の場所を取得する」機能に基づいて、アプリに場所認識を追加しました。これは、融合された場所プロバイダーを使用します。

アプリをできるだけ軽量にしようとしてきたので、単純な位置認識を追加する過程で、apk のサイズが 185K から 2.1M になったのは残念です。実際のコード自体は確かにそれほど増えていないので、どこかから大きなライブラリを引き込んでいると思います。

apk のサイズを再び小さくする方法を教えてください。

ありがとう。

4

2 に答える 2

3

いくつかのことが役立ちます:

  1. ProGuardを使用して未使用のコードを削除します。ほとんどの人は、余分なビルド時間を避けるために、開発ビルドではこれを無効のままにし、リリース ビルドでは有効にします。

  2. Play サービス 6.5 で導入された新しい詳細な依存関係管理を使用します。必要な Play サービス コンポーネントを選択し、その他を除外することができます。ドキュメントから:

6.5 より前のバージョンの Google Play サービスでは、API のパッケージ全体をアプリにコンパイルする必要がありました。場合によっては、これを行うと、アプリ内のメソッド (フレームワーク API、ライブラリ メソッド、および独自のコードを含む) の数を 65,536 の制限未満に抑えることがより困難になります。

バージョン 6.5 以降では、代わりに Google Play サービス API を選択してアプリにコンパイルできます。

含めることができる個々の API のリストは、こちらにあります

于 2014-12-27T12:48:52.370 に答える
2

この問題はproGuard、アプリを公開する前に使用する場合に解決する必要があります。どちらの i と android が強くお勧めします。proGuardAndroid SDK が付属しており、難読化 (アプリのリバース エンジニアリング後に読みにくくするため) を行い、コードを圧縮します。つまり、使用していないデッド コードを強制right now終了し、Google プレイ サービスのほんの一部を使用しているということです。使用するクラスが多いほど、アプリは大きくなります。Proguard は論理的に未使用のコードのみを切り離すことができます。それが役に立てば幸い

Android でプロガードを使用する方法について詳しくは、 http ://developer.android.com/tools/help/proguard.html をご覧ください。

そして、彼がここで一般的に行っていること: http://proguard.sourceforge.net/

于 2014-12-27T12:16:09.200 に答える