2017-09-07 1 views
1

サポートされているアンドロイドデバイスが低すぎるのはなぜですか?私は可能な限り低いapk(13)をターゲットにしようとしましたが、まだ12,000デバイスしか私のアプリを使用できません。サポートされているアンドロイドデバイスが低すぎるのはなぜですか?

ご協力いただければ幸いです。

ここは私のbuild.gradleです。

android { 
signingConfigs { 
} 
compileSdkVersion 23 
buildToolsVersion '25.0.0' 
defaultConfig { 
    applicationId "thomas.surfaceviewtest" 
    minSdkVersion 13 
    targetSdkVersion 13 
    versionCode 5 
    versionName "1.0.5" 
    multiDexEnabled true 
} 
buildTypes { 
    release { 
     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    } 
    debug { 
    } 
} 
dexOptions { 
} 
} 
dependencies { 
compile fileTree(include: ['*.jar'], dir: 'libs') 
compile 'com.android.support:appcompat-v7:23.4.0' 
compile 'com.android.support:design:23.4.0' 
compile 'com.google.android.gms:play-services-ads:9.4.0' 
compile 'com.google.firebase:firebase-ads:9.4.0' 
} 
apply plugin: 'com.google.gms.google-services' 

enter image description here

+0

targetSdkVersion 13、なぜですか? –

+0

'AndroidManifest.xml'を投稿してください。 – Malcolm

+1

これはかなり高い数字です。カタログには約14k個のデバイスが記載されています。私は約12700デバイスで私のアプリを持っています(約100kダウンロード)。そして、あなたはtargetSDKを25または26に設定することができます(26はAndroid Oです - それを動作させるにはいくつかの変更が必要かもしれません) – Ch4t4r

答えて

1

そのごtarget sdkレベルが25に更新

targetSdkVersion 13 

低いためので、それはより多くのデバイス

targetSdkVersion 25 

をサポートしますあなたはより多くのアンドロイドSDKをチェックできますバージョンhere

+1

ターゲットとコンパイル。しかし、それは問題ではないはずです。それは問題ではないはずですので、API 23 SDKをコンパイルしてください(コンパイル参照) – Zoe

+0

ターゲットSDK 13を設定すると、13以下のモバイルにのみターゲットされますが、それ以上はインストールできます13よりも大きいですが、プレイストアに表示されません – Anil

+1

False。より低いAPIを対象とすることは、そのプラットフォーム用に設計されていることを意味します。以前のバージョンのAPIをターゲットにした結果、バグが発生する可能性がありますが、Androidのそれ以降のバージョンでは問題なく使用できます。 API 23のターゲット設定とコンパイルのようなものですが、API 24で実行することはできます – Zoe

0

これは役立つはず:

android:targetSdkVersion 

そのアプリケーションのターゲットAPIレベルを指定する整数。設定されていない場合、デフォルト値はminSdkVersionに与えられた値と等しくなります。 この属性は、ターゲットバージョンに対してテストしたことをシステムに通知します。システムは、ターゲットバージョンとのアプリケーションの前方互換性を維持するための互換動作を有効にしてはいけません。アプリケーションは引き続き古いバージョン(minSdkVersionまで)で実行することができます。

新しいバージョンが登場するたびにAndroidが進化するにつれて、いくつかの動作や外観が変化する可能性があります。ただし、プラットフォームのAPIレベルがアプリのtargetSdkVersionによって宣言されたバージョンより高い場合、システムは互換性の動作を有効にして、アプリが期待どおりに動作するようにします。このような互換性の動作を無効にするには、実行中のプラットフォームのAPIレベルと一致するようにtargetSdkVersionを指定します。たとえば、この値を「11」以上に設定すると、Android 3.0以上で実行されているときにシステムに新しいデフォルトテーマ(Holo)が適用され、大きな画面では画面互換モードが無効になります(APIレベル11はより大きいスクリーンを暗黙的にサポートします)。

出典:数は、マニフェストの設定とデバイスのリストを区画されhttps://developer.android.com/guide/topics/manifest/uses-sdk-element.html

1

は(the list of devicesを参照)Googleが知っています。

これは実際のデバイスの数ではありませんが、サポートされているモデルの数が多いため、市場に出ている12000個のモデルがいいと思います。

+0

ありがとう!それは、私が数百万になると予想していたデバイスの総数とは対照的に、デバイスの種類が異なることを意味していたことに気付かなかった。 –

+1

@ThomasPG私は自分のサイトから実際の定義を探していますが、実際にその値について何も見つけることはできません。だから私は情報源としてのみリスト(リンクを参照)を使用することができます。 – AxelH

0

ターゲットのSDレベルを上げる必要があります。

targetSdkVersion 25 
1

私のアプリは12611デバイスと互換性があります。それは基本的にあなたと同じです。私のminSdkバージョンが高くなっているため、サポートされていないデバイスが「唯一」1465であることを考えると、12000デバイスの数は少なくありません。

12kデバイスのターゲティングはそれほど大きくはありません。あなたが目標としているのは、8kと言うだけであれば、あなたが調べなければならないものです。

コンパイルおよびminSdkのバージョンを25または26(7.1または8)に変更する必要があります。0)を使用して、アプリが最新のAPIを実行できるようにします。

API 13をターゲティングしてもがAPI 14-26をアプリのインストールから除外しないことを明確にしたいと思います。それは、それがどのバージョン用に設計されているかを示します。あなたは23に対してコンパイルするので、新しいAPIは含まれていますが、API 13のみを使用します。

+1

12kデバイスは、アプリを実行できるデバイスの数を意味するものではなく、アプリを実行できるモデルが12k種類あることを意味します。 – Zoe

関連する問題