DCloud_App_Array
DCloud_App_Array
  • 发布:2015-04-01 12:55
  • 更新:2023-04-03 13:37
  • 阅读:110867

Android平台API等级配置 - minSdkVersion&targetSdkVersion

分类:HTML5+

此文档将不再维护,请参考新文档:https://uniapp.dcloud.io/tutorial/app-android-minsdkversion

minSdkVersion

minSdkVersion用于指定应用兼容的最低Android版本(API等级)。
如果APP某些功能无法支持低版本Android系统的设备,可以配置minSdkVersion确保APP只能安装到指定Android版本以上的设备。HBuilder|HBuilderX中可在manifest.json中进行配置。

⚠️注意: minSdkVersion升级时只能增加不能降低。minSdkVersion高的apk无法被minSdkVersion低的apk覆盖安装需要注意!!

可视化界面配置

打开项目的manifest.json文件,在 "App常用其它设置" 项中 "Android设置" 下的 minSdkVersion编辑框中输入要支持的最低Android版本号:

源码视图配置

打开项目的manifest.json文件,切换到 "源码视图"

  • 5+APP项目
    在plus->distribute->google节点下添加“minSdkVersion”字段,并配置要支持的最低Android版本号:
    "plus": {  
        "distribute": {  
            "google":{  
                "minSdkVersion": 22  
            }  
        }  
    }
  • uni-app项目
    在"app-plus"->distribute->android节点下添加“minSdkVersion”字段,并配置要支持的最低Android版本号:
    "app-plus": {  
        "distribute": {  
            "android":{  
                "minSdkVersion": 22  
            }  
        }  
    }

Number类型,整数值,应用要求的最低系统版本,必须大于等于19(Android4.4)小于等于23(android 6.0),默认值为19
示例中设置值为22表示应用只能安装在Android5.1及以上设备。

targetSdkVersion

HBuilder3.2.13版本开始targetSdkVersion默认值由26调整为28
注意:某些uni原生插件可能没有适配好targetSdkVersion为28会引起部分功能异常,碰到这类情况请联系插件开发者进行适配

⚠️注意: targetSdkVersion升级时只能增加不能降低。targetSdkVersion高的apk无法被targetSdkVersion低的apk覆盖安装需要注意!!

targetSdkVersion用于指定应用适配的Android版本(API等级)。
在Android系统中设置低版本的targetSdkVersion会使APP兼容模式运行,也就可能无法用到新系统的特性,甚至在兼容模式下运行可能存在安全漏洞等问题。
随着Android系统的升级,一些应用市场会要求设置较高的targetSdkVersion才可以提交。HBuilder|HBuilderX中可在manifest.json中进行配置。

可视化界面配置

打开项目的manifest.json文件,在 "App常用其它设置" 项中 "Android设置" 下的 targetSdkVersion编辑框中输入要支持的最低Android版本号:

源码视图配置

打开项目的manifest.json文件,切换到 "源码视图"

  • 5+APP项目
    在plus->distribute->google节点下添加“targetSdkVersion”字段:
    "plus": {  
        "distribute": {  
            "google":{  
                "targetSdkVersion": 26  
            }  
        }  
    }
  • uni-app项目
    在"app-plus"->distribute->android节点下添加“targetSdkVersion”字段:
    "app-plus": {  
        "distribute": {  
            "android":{  
                "targetSdkVersion": 26  
            }  
        }  
    }

Number类型,整数值,云端打包默认的targetSdkVersion值为26

  • 5+App项目:最小值为19,最大值29
  • uni-app项目:最小值为26,最大值29

    HBuilderX2.8.3及以下版本targetSdkVersion最大值支持28
    HBuilderX2.8.4+版本targetSdkVersion最大值支持29

Android版本列表

API等级与Android版本对应列表如下:

API等级 Android版本号
14 Android4.0
15 Android4.0.3
16 Android4.1.2
17 Android4.2.2
18 Android4.3.1
19 Android4.4.2
20 Android4.4W.2
21 Android5.0.1
22 Android5.1
24 Android7.0
25 Android7.1.1
26 Android8.0
27 Android8.1
28 Android9.0
29 Android10.0(Android Q)
30 Android11.0

配置完成保存提交App云端打包后才能生效

12 关注 分享
枫桥居APP 蔡繁荣 Trust 雪之梦技术驿站 乌龙球 7***@qq.com 3***@qq.com 老泼尼 2***@qq.com 小七哥 1***@qq.com 远一航一

要回复文章请先登录注册

无形

无形

回复 无形 :
StrictMode policy violation: android.os.strictmode.NonSdkApiUsedViolation: Landroid/content/Context;->bindServiceAsUser(Landroid/content/Intent;Landroid/content/ServiceConnection;ILandroid/os/Handler;Landroid/os/UserHandle;)Z
at android.os.StrictMode.lambda$static$1(StrictMode.java:428)
at android.os.-$$Lambda$StrictMode$lu9ekkHJ2HMz0jd3F8K8MnhenxQ.accept(Unknown Source:2)
at java.lang.Class.getDeclaredMethodInternal(Native Method)
at java.lang.Class.getMethod(Class.java:2064)
at java.lang.Class.getDeclaredMethod(Class.java:2047)
at aLZ.a(PG:11)
at aMw.a(PG:11)
at aMa.a(PG:43)
at cBg.<init>(PG:4)
at cAx.run(PG:9)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:193)
at android.os.HandlerThread.run(HandlerThread.java:65)
2020-12-15 11:34
无形

无形

5+app最小版本设定的是26。
google商店发布前测试报告概览:
非 SDK API
Landroid/content/Context;->bindServiceAsUser(Landroid/content/Intent;Landroid/content/ServiceConnection;ILandroid/os/Handler;Landroid/os/UserHandle;)Z
非 SDK API
Landroid/os/storage/StorageManager;->getVolumeList()[Landroid/os/storage/StorageVolume;
非 SDK API
Landroid/os/storage/StorageManager;->getVolumeState(Ljava/lang/String;)Ljava/lang/String;
非 SDK API
Landroid/os/storage/StorageVolume;->getPath()Ljava/lang/String;
非 SDK API
Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;->selectionAction(III)Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;
非 SDK API
Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;->selectionAction(IIILandroid/view/textclassifier/TextClassification;)Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;
非 SDK API
Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;->selectionModified(II)Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;
非 SDK API
Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;->selectionModified(IILandroid/view/textclassifier/TextClassification;)Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;
非 SDK API
Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;->selectionModified(IILandroid/view/textclassifier/TextSelection;)Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;
非 SDK API
Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;->selectionStarted(I)Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;
非 SDK API
Landroid/view/textclassifier/logging/SmartSelectionEventTracker;-><init>(Landroid/content/Context;I)V
非 SDK API
Landroid/view/textclassifier/logging/SmartSelectionEventTracker;->logEvent(Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;)V
非 SDK API
Landroid/webkit/WebView;->getFactory()Landroid/webkit/WebViewFactoryProvider;
非 SDK API
Lcom/android/internal/R$dimen;-><init>()V
非 SDK API
Lcom/android/internal/R$dimen;->status_bar_height:I
非 SDK API
Lcom/android/internal/R$styleable;-><init>()V
非 SDK API
Lcom/android/internal/R$styleable;->Window_statusBarColor:I
2020-12-15 11:31
TTOOMM

TTOOMM

回复 DCloud_App_Array :
你好,安卓11 什么时候适配好,可以用 三星好多手机已经到11了
2020-12-02 10:34
老王且强壮

老王且强壮

我打包好的APK在我的手机上可以打开,在平板上就显示白屏,手机是安卓8.0,平板是安卓5.1,有大佬帮忙解答一下吗
2020-11-24 10:44
9***@qq.com

9***@qq.com

什么app更新下载了安装包之后咋不能弹出系统安装提示呢,版本和包名都没有问题的没有改变啊,之前是可以弹出系统安装提示。现在怎么不行了呢
2020-11-11 13:49
苦逼前端001

苦逼前端001

在manifest中设置targetSDKVersion为29 无法上传图片
2020-11-04 10:16
wxj1

wxj1

有办法支持Android4.2.2吗
2020-08-26 09:51
DCloud_App_Array

DCloud_App_Array (作者)

回复 y***@qq.com :
Android11还在适配中,targetSDKVersion设置为28及以下版本在Android11上应该也是可以正常运行的。
2020-08-17 11:12
y***@qq.com

y***@qq.com

回复 DCloud_App_Array :
android 11咋办大哥
2020-08-16 15:41
y***@qq.com

y***@qq.com

我android 11预览版 打包调试只有底部导航栏 我哭了
2020-08-16 15:39