9

如果我更改了一些代码,保存并运行,它会运行程序的最新版本,而不是我刚刚保存的。我可以让它更新的唯一方法是清理项目,构建项目,然后运行项目。有什么方法可以避免这种乏味吗?

4

5 回答 5

4

我花了一些时间创建了两个虚拟项目(一个 Android 和一个 Java)并尝试了一下,最后想出了一个不经常使用但能够解决您的要求的解决方法。

首先,我将更多地解释您的问题(根据我的理解和我的尝试),以便其他人可以更清楚地了解这里发生的事情。

根据评论中的对话:

你能告诉我你在以下设置中有什么: project->properties->Builder 吗?——苏达尔·尼玛兰

@SudarNimalan:我不确定这是您要问的,但是:有文字说“为此项目配置构建器”,在它下面是一个选项“Java builder”,已选中(选中)。– 筱

对于android项目,应该依次有“Android Resource Manager”、“Android Pre Compiler”、“Java Builder”、“Android Package Builder”,要不要加进去试试?——苏达尔·尼玛兰

@SudarNimalan:我欠你一个道歉;我确实有这四个组成部分。我的“项目”分为 4 个项目——“core”、“core-android”、“core-desktop”和“core-html”。这有点奇怪,因为我使用 libGDX 项目设置 UI 进行了设置,当我回答您的问题时,我正在查看“核心”项目。我的“core-android”项目有所有四个(按此顺序),这是我的问题中存在问题的一个。– 筱

设想:

你有4个项目:

  • core:一个普通的java项目(这里是普通的纯java代码)
  • core-android:一个安卓应用项目。
  • core-desktop:与问题无关,因此被忽略。
  • core-html:与问题无关,因此被忽略。

core-android 项目依赖于 core 项目,通过将 core 添加到 core-android 的构建路径(属性 -> Java 构建路径 -> 项目 -> 添加 ...)和导出列表(属性 -> Java 构建路径 -> 顺序和出口)。

问题(不是真的):

更改core中的一些代码并保存,运行core-android,eclipse安装最后编译的apk,而不是更改的新的。

原因:

这是预期的行为,您用来在 core-android 中引用核心项目的方式只会在 core 和 core-android 之间创建一个弱链接(或某种东西),core-andorid 的自动构建脚本不知道任何变化核心制作。您必须清理项目(只需要清理 core-android 项目),以便 Eclipse 可以删除现有的 apk(在 bin 目录下)并重新生成 apk(使用核心的最新代码更改)。

请参阅下面的 Xav 评论,Android SDK 工具应该知道项目构建路径下普通 Java 项目的更改,目前它不会正常执行此功能。

请注意,如果 core 是一个 Android 库项目,那么没有问题,并且您的 core-android 项目将知道 core 项目中的任何更改(java 代码、android 资源等),如果 core 仅在 core-android 中使用,这可能也是一种解决方法:将 Java 项目核心转换为 Android 库项目。

解决方法(Eclipse 链接源):

在项目之间添加软链接还有另一种方式(不常用):

  1. 首先,您需要从 core-android 的构建路径中删除核心项目,这也会将其从导出和订单列表中删除。
  2. 右键单击 core-android,选择 Build Path -> Link Source ... 添加 ../core/src 作为 Linked Folder Location 和 src-lib1 作为文件夹名称,最后见屏幕屏幕。

这会在 Package Explorer windows 中的 core-android 下创建一个符号链接 src-lib1 指向 core 的 src 目录,在文件系统中,您仍然有两个单独的项目文件夹。现在,如果您更改 core 中的一些代码并运行 core-android,Eclipse 将构建并安装最新的 apk。无需清理 core-android 项目。

链接源窗口: 在此处输入图像描述

包资源管理器中的最终外观:

在此处输入图像描述

您应该始终将常规方法视为第一选择,毕竟,与我上面描述的不寻常方法相比,手动清理项目并不是什么大问题。

于 2012-07-06T11:24:39.393 回答
4

请按照此步骤..

1. Project--> Build Automatically been checked??

2. Please following setting: project->properties->Builder像这样?

检查下图。

在此处输入图像描述

并检查以下设置。

在此处输入图像描述

还要检查下面的图片

在此处输入图像描述

如果问题仍然存在,请更新您的ADT& SDK

希望对你有效 。

于 2012-07-06T05:47:53.180 回答
3

导航到Windows->Preferences->Android->Build。确保未选中“跳过打包和 dexing...”复选框。

于 2012-07-03T05:24:01.107 回答
3

问题是在您的 Eclipse 中,转到Project Properties - Builder,有一个 CheckBoxAndroidPackageBuilder需要被选中 True。现在,每次您在项目中进行任何将反映在您的构建中的更改时,编译器都不会说“应用程序已经部署,无需重新安装”

即使您没有选择“自动构建”,这也将起作用,因为每次您通过单击“运行”图标或 Ctrl+F11 运行时,都会首先构建项目然后运行它。所以要求只是启用 Android Package Builder

在此处输入图像描述

于 2012-07-06T05:44:32.703 回答
0

你不会相信解决方案是多么简单和愚蠢

在 Eclipse 上,转到 Window-Prefences->run/debug ->launching

然后,在启动前保存所需
的脏编辑器:选择提示选项,
应用和确定

于 2014-09-14T14:14:22.650 回答