我如何强制eclipse在每次构建时更新我的​​硬件设备上的apk?

时间:2012-07-03 04:33:19

标签: android eclipse libgdx

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

5 个答案:

答案 0 :(得分:4)

请按照以下步骤操作..

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

2。 Please following setting: project->properties->Builder那样的?

检查下图。

enter image description here

并检查以下设置。

enter image description here

同时检查图像

enter image description here

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

希望它适合你。

答案 1 :(得分:4)

我花了一些时间创建两个虚拟项目(一个Android和一个Java),然后玩它,最后提出了一个不经常使用但能够解决您的需求的解决方法。

首先,我会更多地解释你的问题(基于我的理解和我所尝试的),以便其他人能够更清楚地了解这里发生的事情。

根据评论中的对话:

  

你能告诉我你在以下设置中有什么:project-> properties-> Builder? - Sudar Nimalan

     

@SudarNimalan:我不确定这是你在问什么,但是:有文字说“为这个项目配置构建器”,在它下面是一个选项,“Java builder”,它被选中(选中) )。 - shino

     

对于android项目,应该有“Android资源管理器”,“Android预编译器”,“Java Builder”,“Android Package Builder”这个顺序,你可以添加那些并试试吗? - Sudar Nimalan

     @SudarNimalan:我欠你一个道歉;我确实有这四个组成部分。我的“项目”分为4个项目 - “核心”,“核心 - 机器人”,“核心桌面”和“核心-html”。这有点奇怪,因为我使用libGDX项目设置UI进行设置,当我回答你的问题时,我正在查看“核心”项目。我的'核心 - 机器人'项目有四个(按此顺序),它是我的问题中有问题的那个。 - shino

情境:

你有4个项目:

  • 核心:一个常规的java项目(这里是常见的纯Java代码)
  • core-android:一个Android应用程序项目。
  • core-desktop:与被忽略的问题无关。
  • core-html:与被忽略的问题无关。

core-android项目依赖于核心项目,通过向core-android的构建路径添加核心(Properties - > Java Build Path - > Projects - > Add ...)和导出列表(Properties - &gt ; Java构建路径 - >订单和导出)。

问题(不是真的):

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

原因:

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

请参阅下面的Xav评论,Android SDK工具应该知道项目构建路径下普通Java项目的变化,此时此功能通常不会出现此行为。

请注意,如果core是一个Android库项目,那么没有问题,你的core-android项目会知道核心项目(java代码,android资源等)的任何变化,如果core只用于core-android ,这也可能是一种解决方法:将Java项目核心转变为Android库项目。

解决方法(Eclipse链接源):

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

  1. 首先,您需要从core-android的构建路径中删除核心项目,这也会将其从“导出和订单”列表中删除。
  2. 右键单击core-android,选择Build Path - >链接源...将../core/src添加为链接文件夹位置,将src-lib1添加为文件夹名称,最后看屏幕界面。
  3. 这在core-android下创建了一个符号链接src-lib1,在Package Explorer窗口中指向core的src foder,在文件系统中,你还有两个独立的项目文件夹。现在,如果您更改核心中的一些代码并运行core-android,Eclipse将构建并安装最新的apk。无需清理core-android项目。

    链接源窗口: enter image description here

    最终在Package Explorer中查看:

    enter image description here

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

答案 2 :(得分:3)

导航至 Windows->偏好设置 - > Android->构建。确保未选中“Skip packaging and dexing ...”复选框。

答案 3 :(得分:3)

问题是在你的Eclipse中,转到Project Properties - Builder,有一个AndroidPackageBuilder的CheckBox 需要被检查为真。现在,每当您对项目进行任何更改时,都会反映在您的构建中,编译器永远不会这么说  “已部署应用程序,无需重新安装”

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

enter image description here

答案 4 :(得分:0)

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

在Eclipse上, 转到Window-Prefences->运行/调试 - >启动

然后,在启动之前保存所需的脏编辑器:
选择提示选项,
申请并确认