为什么我支持的Android设备如此之低?我尝试过最低限度的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'
答案 0 :(得分:3)
该号码正在分隔您的清单配置和Google知道的设备列表(请参阅the list of devices)。
这不是一些真正的设备,但支持了一些型号,所以市场上的12000型号是我认为的好数字。
答案 1 :(得分:1)
因为你的target sdk
级别很低
targetSdkVersion 13
将其更新为25,以便支持更多设备
targetSdkVersion 25
您可以查看更多Android sdk版本here
答案 2 :(得分:1)
我的应用与12611设备兼容。这与你的基本相同。 12000个设备并不少,特别是考虑到只有"只有"由于我的minSdk版本很高,1465个不受支持的设备。
定位12k设备并不是很少,而且很多。如果你只是针对说8k这是你应该研究的东西。
您仍然应该将compile和minSdk版本更改为25或26(7.1或8.0),以确保您的应用可以运行最新的API。
我想澄清一个事实,即目标API 13没有排除API 14-26安装应用。它表示它的设计版本。您编译为23,因此您包含了新的API,但您只使用API 13。
答案 3 :(得分:0)
这应该有所帮助:
android:targetSdkVersion
指定应用程序所针对的API级别的整数。如果未设置,则默认值等于minSdkVersion
的值。
此属性通知系统您已针对目标版本进行了测试,系统不应启用任何兼容性行为来维持应用程序与目标版本的向前兼容性。该应用程序仍然可以在旧版本上运行(低至minSdkVersion
)。
随着Android随着每个新版本的发展,一些行为甚至外观都可能会发生变化。但是,如果平台的API级别高于应用程序targetSdkVersion
声明的版本,系统可能会启用兼容性行为,以确保您的应用程序继续以您期望的方式工作。您可以通过指定targetSdkVersion
以匹配运行它的平台的API级别来禁用此类兼容性行为。例如,将此值设置为“11”或更高允许系统在Android 3.0或更高版本上运行时将新的默认主题(Holo)应用于您的应用,并在大屏幕上运行时禁用屏幕兼容模式(因为支持API) 11级隐含支持更大的屏幕。
来源:https://developer.android.com/guide/topics/manifest/uses-sdk-element.html
答案 4 :(得分:0)
你应该提高目标sdk水平。
targetSdkVersion 25