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


82

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

我以1.5(sdk 3)的目标内部版本创建了它。

现在,我想对其进行更改,使其minSdk为3,targetSdk为8。

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

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

但是,这似乎没有任何影响,当我再次尝试时,目标版本会重新设置为Android 1.5。

我错过了一步吗?

Answers:


95

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

(请注意,按照下面的常用注释,请确保您的属性,类路径和项目文件可写,否则将无法使用)


20
原来我的属性,类路径和项目文件被设置为不可写,这就是为什么它不起作用的原因,现在可以工作了,谢谢
Donal Rafferty 2010年

3
我遇到了同样的问题。源代码控制导致文件不可写,并阻止了切换。您不会收到任何警告或表明有问题的信息……它只是不会切换。如果其他人遇到此问题,请确保您“签出进行编辑”或您的源代码管理库中有任何正确的操作。
迈克尔·斯通纳

有什么方法可以设置DEFAULT选项吗?随着多个APK的出现,每次都必须设置它有点烦人……
MBillau

@DonalRafferty如何检查它们是否可写?以及如何使它们可写?
穆罕默德·巴巴尔

@Muhammad Babar我正在使用Visual Source安全,它会自动将文件设置为只读。我只是取消选中文件上的“只读”框,当时我正在使用Windows计算机。
Donal Rafferty 2014年

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

    在“程序包资源管理器”中右键单击项目,选择“属性”,选择“ Android”,然后检查所需的“项目目标”。

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

    在这种情况下,将是:

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

    保存

  3. 重建您的项目。

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

  4. 现在,再次运行该项目。

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

顺便说一句,从带有ADT的Eclipse回顾“管理项目”将很有帮助。特别是称为创建Android项目的部分。


5
提示:完成所有这些步骤后,重新启动Eclipse。这可以创造奇迹。
cimnine

同意!在重新启动Eclipse之前,我无法正常工作。
2012年

在Android Studio中,我不得不将这些行合并在一起。不知道这是特定于Android Studio还是清单格式自发布以来是否需要更改。例如: <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="21" />
Eric Farraro 2014年

@Alan我是密密麻麻的人吗,但是你在哪儿单击那个第一点...包资源管理器...我在任何地方都看不到任何属性!:-(
Dariusz

11

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

如果你说,

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

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


6

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

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

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

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

xml:

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

3

好吧,我同意Ryan Conrad在Eclipse中如何做到这一点,您确定已更改manifest.xml吗?

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

3

当项目中有错误时,有时会出现此问题。

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

我使用的通常(可能是残酷的)解决方案是使用正确的目标创建一个新项目,然后将src,res和manifest复制到新项目中。

更新:

这似乎可行:

  1. 正常通过构建属性更改所选内容
  2. 手动编辑project.properties和default.properties,以确保它们均反映所需的目标。
  3. 关闭项目并重新打开它

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


3

default.properties默认情况下,该文件为只读文件,更改了对我有用的文件。


2

您的文件中不应包含多个“ uses-sdk”标签。参考-文档

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

1

我也有这个问题。对我有用的是先取消选中先前选择的SDK版本,然后再检查新的所需版本。然后单击“确定”。


1

正如Mike Way所说。在项目中执行任何需要更高目标的项目之前,例如android:installLocation =“ auto”,请更改目标。


0

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


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.