【问题标题】:Android-ndk with eclipse: How to force reinstallation of apk带有eclipse的Android-ndk:如何强制重新安装apk
【发布时间】:2011-03-14 11:42:02
【问题描述】:

我正在使用 android NDK 在 c++ 中开发一个库。实际上,我使用 java 和 c++ 源在 android 中创建了我的项目。我可以编译并运行我的项目,一切正常。

现在我想强制 eclipse 在手机上重新安装 apk,即使 java 代码没有改变但 c++ 端发生了一些变化。事实上,如果我只是更改我的 c++ 代码并启动应用程序,新库不会上传到手机上。

你知道我怎样才能达到这个结果吗?

非常感谢!

【问题讨论】:

    标签: c++ eclipse eclipse-cdt android-ndk android-ndk-r4


    【解决方案1】:

    我也遇到过这个问题。

    要解决这个问题,您可以在每次编译 NDK 项目时在项目中touch 随机生成一个 java 文件(最简单的方法是将其添加到 NDK 生成文件中)。
    这样 Eclipse 就被“愚弄”了重新创建 APK。

    打开包含您的项目的 Eclipse 工作区,然后启用 Window |偏好 |一般 |工作区 |自动刷新。否则,您可能需要手动刷新工作区 (F5),然后 Eclipse 才会检测到更改的文件并重建 APK。

    【讨论】:

    • 嗨 adamk,感谢您的回复!我不明白您所说的“触摸”是什么意思。我如何在 makefile 中做到这一点?
    • touch 是一个 Unix 实用程序,可将文件的时间戳更改为当前时间(在 Cygwin 下也可用)。它使 Eclipse 认为文件最近被编辑过,尽管它实际上并没有改变。
    • 我尝试在我的项目中同时触摸 .java 和 .class 文件,但 eclipse 仍然没有刷新我的 apk ..它说“应用程序已经部署。无需重新安装。”...我在问题上发布我的自定义 Eclipse 构建器...
    • 您是否启用了窗口->首选项->工作区->自动刷新?
    【解决方案2】:

    与其接触源文件,我更喜欢删除 apk 文件。启用“自动刷新”选项后,我发现它会立即重建 apk。

    所以我将它添加到我的构建中。这是我的构建别名:

    别名 b='ndk-build; rm -v ./bin/*.apk'

    【讨论】:

      猜你喜欢
      • 2023-01-12
      • 2012-01-20
      • 1970-01-01
      • 1970-01-01
      • 2017-12-30
      • 2013-08-17
      • 2016-06-17
      • 2016-09-25
      • 2011-03-29
      相关资源
      最近更新 更多