1

ばかげているように見える質問がありますが、私はこれをexclarecerしています...

私はAndroid用のアプリを持っていますが、APIを使用しているため、Android4.1をターゲットにする必要がありました。

私の疑問は、アプリが4.1未満のシステムを搭載したAndroidデバイスで動作するかどうかです。

私のマニフェストファイルに次のように入れてください

<uses-sdk
         android: minSdkVersion = "8"
         android: targetSdkVersion = "16" />

android 2.3.6を搭載し、バグなしで正常に動作するデバイスでテストしましたが、問題が発生することなく他のバージョンでも同じことが言えますか?

4

3 に答える 3

3

最小 SDK バージョン

SDK の最小バージョンは、アプリケーションを問題なく実行できる最小の API です。

アプリケーションの実行に必要な最小 API レベルを指定する整数。システムの API レベルがこの属性で指定された値よりも低い場合、Android システムはユーザーがアプリケーションをインストールできないようにします。この属性は常に宣言する必要があります。

--<uses-sdk>ドキュメント

ターゲット SDK バージョン

ターゲット SDK バージョンは、アプリケーションでメソッドを使用できる API を示しているだけです。

アプリケーションが対象とする API レベルを指定する整数。... この属性は、ターゲット バージョンに対してテストしたことをシステムに通知し、システムはターゲット バージョンとのアプリの前方互換性を維持するために互換動作を有効にすべきではありません。アプリケーションは古いバージョン ( までminSdkVersion) でも実行できます。

--<uses-sdk>ドキュメント

例として、アプリで を使用するDisplay.getSize(Point)とします。このメソッドは API 13 以降でのみ機能するため、13 以降をターゲットにする必要があります。ただし、API 12 以前を使用するデバイスでこのメソッドを呼び出さない場合、問題は発生しません。

ただし、アプリで とそのメソッドにアクセスできる必要があるFragment(サポート ライブラリを使用したくない) とします。次に、最小 SDK レベル 11 が必要です。そうしないと、その API レベルよりも低いデバイスでクラッシュします。

簡潔な答え

android:minSdkVersion="8"は、アプリが Android 2.2 以降で使用できることを意味します。android: targetSdkVersion="16"は、アプリをコンパイルするたびに Android 4.1 以降のすべてのものにアクセスできることを意味します (ただし、古いデバイスがそれらの機能を使用できるという意味ではありません)。

于 2013-01-21T02:36:47.757 に答える
1

minSdkVersion = 8 は、Android 2.2 以降を実行しているデバイスで動作することを意味します

于 2013-01-21T02:36:19.393 に答える
1

エリックの答えはとてもいいです..ドキュメントからさらにいくつか追加したいだけです。それはあなたを助けるかもしれません..

minsdkversion について

  1. システムの API レベルがこの属性で指定された値よりも低い場合、Android システムはユーザーがアプリケーションをインストールできないようにします。
  2. この属性を宣言しない場合、システムはデフォルト値の「1」を想定します。これは、アプリケーションが Android のすべてのバージョンと互換性があることを示します。
  3. そのため、minsdk バージョンの後に導入された API を使用すると、プログラムがクラッシュします。

targetsdkversion について

  1. 設定されていない場合、デフォルト値は minSdkVersion に指定された値と同じです。
  2. 異なるバージョンの Android OS でのアプリケーションの targetsdkversion に応じて、動作と外観が変わる場合があります。したがって、ドキュメントから..

たとえば、この値を「11」以上に設定すると、システムは、Android 3.0 以降で実行しているときにアプリに新しいデフォルト テーマ (Holo) を適用できます。また、より大きな画面で実行しているときに画面互換モードを無効にできます (API のサポートのため)。レベル 11 は、より大きな画面を暗黙的にサポートします)。

別の例として。たとえば、targetsdk のバージョンを 5 に設定するとします。その後、すべての OS バージョンで、メニュー、タイトル バー、および全体的なテーマは ECLAIR のようになります。ただし、targetsdk のバージョンを 14 に設定すると、ics のテーマは ics になります。OSの以下のバージョンでは、テーマはそのOSに対応します。

最後に maxsdkVersion について:

他の 2 つは言及されているので、この孤独な属性も含める必要があると思います。この属性が宣言されている場合、その値はシステムの API レベル整数以上である必要があります。宣言されていない場合、システムはアプリケーションに最大 API レベルがないと見なします。

于 2013-01-21T05:16:00.150 に答える