0

私のアプリでは、2セットのデザインがあります。1 つのデザインは 2.1 および 2.2 の Android デバイス バージョン用で、もう 1 つのデザインは 2.3 以降のデバイス用です。

今問題は、マニフェストファイルで次のようにビルド設定を行うことです

<uses-sdk android:minSdkVersion="7" /> 
      <uses-sdk android:maxSdkVersion="8" />

私のアンドロイドproject propertiesはに設定されてい2.2ます。このビルドを 2.3.4 デバイスで実行すると、正しく実行されます。それはどのように起こりますか?

複数の apk ファイルを含むアプリを市場に提出する予定です。アプリの 1 つのビルドを 2.1 および 2.2 で実行するようにブロックし、もう 1 つのビルドを 2.3 以降で実行するようにブロックする方法

<uses-sdk android:minSdkVersion="7" /> or <uses-sdk android:maxSdkVersion="7" />or <uses-sdk android:maxSdkVersion="8" /> or thenのみを設定しようとし<uses-sdk android:targetSdkVersion="8" />ましたが、2.3.4 デバイスのすべてのデバイスで実行されます

友達を助けてください....

4

4 に答える 4

3

アンドロイドのドキュメントに従ってちょっと:

Introduced in: API Level 4

Android の将来のバージョン (Android 2.0.1 以降) では、インストール時または再検証時に maxSdkVersion 属性をチェックまたは適用しなくなります。ただし、Google Play は、ダウンロード可能なアプリケーションをユーザーに提示する際に、引き続きこの属性をフィルターとして使用します。

このリンクの最後の数行を見たいと思うかもしれません

EDIT1:

Also have a look at the Warning 

警告:この属性を宣言することはお勧めしません。まず、リリースされた新しいバージョンの Android プラットフォームへのアプリケーションの展開をブロックする手段として属性を設定する必要はありません。設計上、プラットフォームの新しいバージョンは完全な下位互換性があります。アプリケーションは、標準 API のみを使用し、開発のベスト プラクティスに従っていれば、新しいバージョンでも適切に動作するはずです。次に、場合によっては、属性を宣言すると、より高い API レベルへのシステム更新後にアプリケーションがユーザーのデバイスから削除される可能性があることに注意してください。アプリケーションがインストールされる可能性が高いほとんどのデバイスは、無線で定期的なシステム アップデートを受信するため、この属性を設定する前にアプリケーションへの影響を考慮する必要があります。

于 2012-03-17T05:50:45.497 に答える
2

ドキュメントによると:

Android の将来のバージョン (Android 2.0.1 以降) では、インストール時または再検証時に maxSdkVersion 属性をチェックまたは強制しなくなります。

http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#max


または、実行時に API のバージョンを確認して、アプリの使用をブロックすることもできます。 http://developer.android.com/reference/android/os/Build.VERSION.html

于 2012-03-17T05:50:27.353 に答える
1

adb を使用するか、Web サイトから apk を直接ダウンロードしてインストールできます。

minSdk と maxSdkVersion は、Android マーケットからインストールされた場合にのみチェックされます。この範囲外のバージョンのデバイスでは、市場でアプリが表示されません。

于 2012-03-17T05:53:40.340 に答える
0

バージョン固有のアプリケーションには PackageManager クラスを使用する必要があります。getPackageInfo()のオブジェクトを返すというメソッドがありますPackageInfo。この からPackageInfo、バージョン名とコードの値を取得できます。

これで値が得られたので、ロジックを使用して実装します

于 2012-03-17T05:52:54.037 に答える