2012-04-18 6 views
0

Nexus One(2.3.6)デバイスにアプリをインストールしようとしています。 APKには多くの資産が含まれているため、100 MBを超えるサイズがあります。インストールすると、次の例外が発生します。外部記憶装置にapkをインストールするにはAndroidメモリが必要ですか?

[2012-06-17 23:26:18]デバイス[redacted]に[redacted] .apkをインストールできませんでした:デバイスにスペースが残っていません [2012-04-17 23:26:18] com.android.ddmlib.SyncException:デバイスに空き領域がありません [2012-04-17 23:26:18]起動がキャンセルされました

apkを外部ストレージ、つまりSDにインストールすることを明確に示しましたカード。より小さなapkサイズで同じアプリをインストールしようとしたとき、私はそれが実際にSDカードにインストールされていることを確認しました。 SDカードには3GB以上の記憶容量がありますが、これは100MBを収容できるほどの容量です。

何が起こっていますか?私は利用可能な内部ストレージのサイズよりも小さくなるようにapkのサイズを減らすと気付きます。私が描くことができる唯一の有意義な結論は、apkを外部ストレージにインストールするために内部メモリが必要であるということです。

誰か他の人に同じ問題が発生しましたか?

編集:Google Playでアプリを50MBに制限することは事実です。しかし、その制限はGoogle Playの制限事項であり、Androidのapkの制限ではありません。たとえば、Amazonはあらゆるサイズのapkを許可しています。あなたはAndroid開発ツールを使用して携帯電話にサイズ60 MBのapkをインストールすることでこれを試すことができます。

答えて

0

Androidアプリケーションは50MB未満である必要があります。この制限は避けることができます(http://android-developers.blogspot.com/2012/03/android-apps-break-50mb-barrier.htmlhttp://developer.android.com/guide/market/expansion-files.html)が、拡張apkの場合にのみ適用されます。

+0

これは質問に答えません。 Google Playでアプリを50 MBに制限していることは事実です。しかし、その制限はGoogle Playの制限事項であり、Androidのapkの制限ではありません。たとえば、Amazonはあらゆるサイズのapkを許可しています。あなたはAndroid開発ツールを使用して携帯電話にサイズ60 MBのapkをインストールすることでこれを試すことができます。 –

0

アセットをアプリケーションの外部に配置します。最初に使用(またはインストール後)すると、保存したすべてのファイルが外部ストレージにアセットフォルダにダウンロードされます。

+0

回避策を提案していただきありがとうございます。私が必要な場合は、私は問題を回避することができます知っている。私が見ている行動が本当であることを確認できますか? –

+0

私はあなたの質問を理解していません。問題を解決する方法を提案しました - 私はそれを使用しました。私はすべてのリソースを私のサーバーに入れ、私のアプリが起動すると、何かダウンロードが必要かどうかチェックします。私は必要なすべてのリソースへの参照を含むxmlファイルを読むことでこれを行います。私がxmlにリソース(イメージ、サウンド、フォントなど)への参照を持っていて、自分の外部フォルダにない場合は、そのリソースをダウンロードします。 –

+0

私はあなたの回避策の動作に同意します。私の質問は、Androidの動作で判断すると、Android OSは外部ストレージに格納する前にapkを内部ストレージにコピーするのはなぜかと思われます。これは私がそれがうまくいくとは思っていません。アプリが外部ストレージを好むと述べた場合、Androidは最初に内部ストレージにコピーすることなく外部ストレージにインストールすることができます。 –

関連する問題