如何更改 Android 项目的目标构建?

Posted

技术标签:

【中文标题】如何更改 Android 项目的目标构建?【英文标题】:How to change target build on Android project? 【发布时间】:2011-03-21 12:59:37 【问题描述】:

我目前在 Eclipse 中有一个 android 项目。

我使用 1.5 (sdk 3) 的目标版本创建它。

现在我想更改它,使其 minSdk 为 3,targetSdk 为 8。

为此,我发现我必须针对最新的 SDK (2.2) 进行构建

要在 Eclipse 中执行此操作,我右键单击我的项目,转到属性,单击 Android 并将项目构建目标更改为 Android 2.2,然后单击应用,然后确定。

但这似乎没有任何影响,当我再次尝试时,目标构建被设置回 Android 1.5。

我错过了一步吗?

【问题讨论】:

【参考方案1】:

右键单击项目,然后单击“属性”。然后从左侧的树中选择“Android”。然后您可以在右侧选择目标版本。

(请注意下面的流行评论,确保您的属性、类路径和项目文件是可写的,否则将无法正常工作)

【讨论】:

原来我的属性、类路径和项目文件被设置为不可写,这就是为什么它没有工作,现在工作,谢谢 我遇到了同样的问题。源代码控制导致文件不可写并阻止切换。您没有收到任何警告或指示存在问题......它只是没有切换。如果其他人遇到这种情况,请确保您“签出以进行编辑”或源代码管理库中的任何正确操作。 有什么方法可以设置默认选项?对于多个 APK,每次都必须设置这个有点烦人...... @DonalRafferty 如何检查它们是否可写?以及如何使它们可写? @Muhammad Babar 我正在使用 Visual Source safe,它会自动将文件设为只读。我刚刚取消选中文件上的只读框,当时我使用的是 Windows 机器。【参考方案2】:

    您可以随时更改项目的构建目标:

    在 Package Explorer 中右键单击项目,选择 Properties,选择 Android,然后检查所需的 Project Target。

    在 AndroidManifest.xml 文件中编辑以下元素(它位于您的项目根目录中)

    在这种情况下,这将是:

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

    保存

    重建您的项目。

    点击菜单栏上的项目,选择清理...

    现在,再次运行项目。

    右键单击项目名称,继续运行,然后选择 Android 应用程序

顺便说一下,查看Managing Projects from Eclipse with ADT 会有所帮助。尤其是名为创建 Android 项目的部分。

【讨论】:

提示:完成所有这些步骤后,重新启动 Eclipse。这可以创造奇迹。 同意!在 Eclipse 重新启动之前,我无法使其正常工作。 在 Android Studio 中,我必须将这些行合并在一起。不确定这是否特定于 Android Studio,或者清单格式自发布以来是否需要更改。例如:&lt;uses-sdk android:minSdkVersion="16" android:targetSdkVersion="21" /&gt; @Alan 我会很密集,但是你到底在哪里点击第一个点...包资源管理器...我在任何地方都看不到任何属性! :- (【参考方案3】:

如果您使用 ant,在命令行上的另一种方法是使用 android.bat 脚本 (Windows) 或 android 脚本 (Mac)。它在 $SDK_DIR/tools 中。

如果你说,

android.bat update project --path .  --target "android-8"

它将重新生成您的 build.xml、AndroidManifest.xml 等。

【讨论】:

【参考方案4】:

有三种方法可以解决此问题。

    右键单击项目并单击“属性”。 然后从左侧选择“Android”。然后您可以选择目标版本 从右侧。

    右键单击项目并选择“运行方式”,然后将打开一个下拉列表。 从下拉列表中选择“运行配置”。然后将打开一个表单, 从“Form”中选择“Target”选项卡,并选择 Android Version Api , 要在其上执行应用程序,这是检查的最快方法 您的应用程序在不同的目标版本上。

    在 AndroidManifest.xml 文件中编辑以下元素

xml:

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

【讨论】:

【参考方案5】:

我同意 Ryan Conrad 关于如何在 Eclipse 中执行此操作的观点,你确定你已经更改了 manifest.xml 吗?

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

【讨论】:

【参考方案6】:

项目出错时有时会出现该问题。

例如,如果您的项目配置了 3.2 的目标,但 3.2 的库不可用,您将无法将版本更改为 4.0!

我使用的通常(也许是残酷的)解决方案是创建一个具有正确目标的新项目,并将 src、res 和 manifest 复制到新项目中。

更新:

这似乎有效:

    正常通过构建属性更改选择 手动编辑 project.properties 和 default.properties 以确保 它们都反映了预期的目标。 关闭项目并重新打开它

我总是运行 Android 工具 |在对构建目标进行任何更改后修复项目属性。

【讨论】:

【参考方案7】:

default.properties 文件默认为只读,更改它对我有用。

【讨论】:

【参考方案8】:

您的文件中不应有多个“uses-sdk”标签。参考 - docs

Use this syntax:
    <uses-sdk android:minSdkVersion="integer"
          android:targetSdkVersion="integer"
          android:maxSdkVersion="integer" />

【讨论】:

【参考方案9】:

我也有这个问题。对我有用的是在检查新的所需版本之前先取消选中以前选择的 SDK 版本。然后点击确定。

【讨论】:

【参考方案10】:

正如迈克的方式所说。在您的项目中执行任何需要更高目标(如 android:installLocation="auto")的操作之前更改目标。

【讨论】:

【参考方案11】:

根据 2018 年,targetSdkVersion 可以通过以下方式在您的 app/build.gradle 中设置:

android 
    compileSdkVersion 26
    buildToolsVersion '27.0.3'

    defaultConfig 
       ...
       targetSdkVersion 26
    
    ...

如果您选择 26 作为 SDK 目标,请务必关注 https://developer.android.com/about/versions/oreo/android-8.0-migration

【讨论】:

【参考方案12】:

右键项目->属性->android->选择目标名称--设置目标--点击确定

【讨论】:

【参考方案13】:

获取 sdk 29- android 10:

单击工具 > SDK 管理器。

在 SDK 平台选项卡中,选择 Android 10 (29)。

在 SDK Tools 选项卡中,选择 Android SDK Build-Tools 29(或更高版本)。

点击确定开始安装。

【讨论】:

以上是关于如何更改 Android 项目的目标构建?的主要内容,如果未能解决你的问题,请参考以下文章

MFP CLI 7.1 创建 android 项目目标 23 ,如何更改?

创建新项目后如何在 Android Studio 中更改最小目标 SDK API? [复制]

用户登录时更改 NavigationView 项目

React Expo 更改目标 Android API

如何在 Kotlin Native 中使用 Http Request 库

电子书丨《巧用Gradle构建Android应用》