0

私は、Google Maps APIを使用して、現在の場所に基づいて実行時に特定の業種のリストを提供するアプリを開発しています。

これは、Android2.2.2を実行しているLGAllyをテストデバイスとして使用してEclipseで開発しました。

QAチームは私にとってローカルではないので、電話にインストールしたのと同じapkファイルをメールで送信しました。

ここが奇妙になります。

1人のテスターは、アプリをインストールして問題なく実行できました。その人はAndroid2.2.2を実行している電話を使用しています-私と同じように、彼らの電話がLGAllyであるかどうかはわかりませんが。

他の人は2.3.3を実行している電話を使用していて、アプリを実行できません。彼らは私にlogcat出力を電子メールで送信するアプリをインストールしました、そして漠然と関連しているように見える唯一のメッセージは次のとおりです:

06-21 14:22:57.147 W / PackageInstaller(8784):マニフェストの解析時にエラーを解析します。インストールの中止

Stackoverflowで、マニフェストにSDKに関する情報が含まれている必要があることを読みました。私のAndroidマニフェストには次のものが含まれています。

<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="15"/>

また、Stackoverflowで、メールで送信されたアプリのインストールに問題があり、DropBoxのようなものを提案している人もいることを読みました。

私は両方を実行しましたが(マニフェストに上記のSDK行を含め、DropBox経由でアプリを配信しました)、まだアプリを実行できません。

そのため、Googleマップの依存関係について疑問に思いました。私はapkでmaps.jarファイルを配信していません。アプリが実行されているデバイスでmaps.jarが使用可能であることを確認する方法はありますか?Maps.jarファイルを配信する方法はありますか?Maps.jarがすでに存在する場合はどうすればよいですか?

4

1 に答える 1

1

アプリが実行されているデバイスでmaps.jarが使用可能であることを確認する方法はありますか?

属性があれば<uses-library>android:required="false"デバイスにAndroid用のGoogleマップアドオンがなくてもアプリを実行できます。このサンプルプロジェクトのように、を実際に使用する前に、が存在するClass.forName()かどうかを確認するために使用します。MapActivityMapActivity

ただし、属性がない場合<uses-library>android:requiredまたは属性がに設定されているtrue場合、アプリをデバイスにインストールすることはできません。

Maps.jarファイルを配信する方法はありますか?

ユーザーに別のデバイス(Googleマップアドオンを備えたデバイス)を購入して出荷するという形でのみ。デバイスがそれを持っているか(合法的にPlayストアを持っているほとんどのデバイスがそうであるように)、または持っていない(例えば、Kindle Fire)。その事実を変えることはできません。

于 2012-07-16T00:47:15.747 に答える