`
gjhappyyy
  • 浏览: 259531 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

default.properties的target和AndroidManifest中的android:minSdkVersion

 
阅读更多

客户反馈,在2.X系统运行有问题。

查看工程配置。

发现在AndroidManifest.xml中<uses-sdk android:minSdkVersion="5" />(可以安装的机器最低环境)

在default.properties中target=android-8(适配的最低版本)

这样导致在2.0系统上能安装,但运行可能会有问题

 

【转】http://usenrong.iteye.com/blog/1488503

 在AndroidMenifest.xml中,常常会有下面的语句: <uses-sdk android:minSdkVersion="4" android:targetSdkVersion="10" android:maxSdkVersion="10" /> 
在default.properties中,会看到下面的语句: target=android-10 如果是使用Eclipse的话,还可能会看到这样的警告: 
Attribute minSdkVersion (4) is lower than the project target API level (10) 
那么,这里面的minSdkVersion、targetSdkVersion、maxSdkVersion、target API level四个数值到底有什么区别?
 minSdkVersion与maxSdkVersion比较容易理解,就是在安装程序的时候,如果目标设备的API版本小于minSdkVersion,
 或者大于maxSdkVersion,程序将无法安装。一般来说没有必要设置maxSdkVersion。 
 targetSdkVersion相对复杂一些,如果设置了此属性,那么在程序执行时,如果目标设备的API版本正好等于此数值,
 他会告诉Android平台:此程序在此版本已经经过充分测,没有问题。不必为此程序开启兼容性检查判断的工作了。
 也就是说,如果targetSdkVersion与目标设备的API版本相同时,运行效率可能会高一些。 
 但是,这个设置仅仅是一个声明、一个通知,不会有太实质的作用,
 比如说,使用了targetSdkVersion这个SDK版本中的一个特性,但是这个特性在低版本中是不支持的
 ,那么在低版本的API设备上运行程序时,可能会报错:java.lang.VerifyError。也就是说,此属性不会帮你解决兼容性的测试问题。
 你至少需要在minSdkVersion这个版本上将程序完整的跑一遍来确定兼容性是没有问题的。(这个问题确实让人头疼)  
 在default.properties中的target是指在编译的时候使用哪个版本的API进行编译。 综上,上面的四个值其实是作用于不同的时期:
 target API level是在编译的时候起作用,用于指定使用哪个API版本(SDK版本)进行编译。 minSdkVersion和maxSdkVersion是在程序安装的时候起作用,
 用于指定哪些版本的设备可以安装此应用。 targetSdkVersion是在程序运行的时候起作用,用于提高指定版本的设备上程序运行体验。
 这四个数值在程序编译时也没有严格的检查,比如说,你可以将minSdkVersion设置的比maxSdkVersion还大,他会自动忽略掉错误的maxSdkVersion。

分享到:
评论

相关推荐

    android中导入低版本project可能会遇到的问题

    2. **同步AndroidManifest.xml:** 在项目的`AndroidManifest.xml`文件中,找到`&lt;uses-sdk android:minSdkVersion="5"/&gt;`这一行,将其修改为`&lt;uses-sdk android:minSdkVersion="7"/&gt;`。这确保了应用声明的最低支持...

    android中创建项目各选项的意思.docx

    在`default.properties`(Android Studio中是`build.gradle`)中,`target`指示的是编译时使用的SDK版本,它决定应用的编译行为和能使用的API。 理解并正确设置这些选项至关重要,它们直接影响到应用的兼容性、性能...

    高低版本源码和SDK转换方法

    - 在default.properties文件中,将`target`属性设置为所需的SDK版本。 ``` target=android-8 ``` - 其中,`android-8`代表Android 2.2版本。 **步骤5:清理并重建项目** 1. **执行Clean操作:** - 在Eclipse...

    car.zip

    3. **default.properties**: 在早期的Android开发中,这个文件用来指定项目的属性,比如target SDK版本、minsdkversion等。不过现在已被build.gradle文件取代。 4. **AndroidManifest.xml**: 这是Android应用的核心...

    android中导入低版本project可能会遇到的编译问题

    - 同时,检查并更新`AndroidManifest.xml`文件中的`&lt;uses-sdk android:minSdkVersion="5"/&gt;`,将其替换为`&lt;uses-sdk android:minSdkVersion="7"/&gt;`,以反映实际使用的最低支持SDK版本。 ### 2. Dalvik格式转换失败 ...

    Android Studio使用新的Gradle构建工具配置NDK环境

    minSdkVersion.apiLevel 16 targetSdkVersion.apiLevel 26 versionCode 1 versionName "1.0" ndk { abiFilters "armeabi-v7a", "x86", "arm64-v8a", "x86_64" // 指定支持的架构 } } } } ``` 4. **创建...

    在AndroidManifest.xml中uses-sdk内属性意思

    4. **target API level**:在`default.properties`或`build.gradle`文件中提到的`target`,指的是编译时使用的Android SDK版本。它决定了应用的语法和功能,以及编译时的错误检查。编译时,应用应使用与`targetSdk...

    FairyOpenssl:【NDK】openssl这样

    FairyOpensslOpenssl编译动态库下载Openssl修改修改AndroidManifest.xml文件修改android:minSdkVersion修改default.properties文件修改 target修改jni里面的Application.mk修改NDK_TOOLCHAIN_VERSION修改crypto里面...

    Android在高jar包版本的工程中修改方法

    不过,需要注意的是,除了API级别的适配,你还需要检查代码中是否存在仅在高版本API中可用的方法或特性,并使用条件编译指令(如`@TargetApi`注解和`Build.VERSION.SDK_INT`检查)来确保在低版本系统上也能正常工作...

    丢失Android系统库或者Conversion to Dalvik format failed with error 1错误的解决方法

    更新AndroidManifest.xml,添加`&lt;uses-sdk android:minSdkVersion="3"&gt;&lt;/uses-sdk&gt;`,确保应用声明支持的最低API级别。 d. 修改default.properties(或改名为project.properties的文件),将`target=android-3`...

Global site tag (gtag.js) - Google Analytics