2010-07-11 76 views
1

我正在开发一个使用android NDK的C++库。实际上,我使用java和C++源码在android中创建了我的项目。我可以编译和运行我的项目,并且一切正常。Android-ndk与日食:如何强制重新安装apk

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

你知道我怎么能达到结果吗?

非常感谢!

回答

4

我也遇到过这个问题。

要解决这个问题,每次编译NDK项目(最简单的方法就是将它添加到NDK makefile中),您可以在项目中使用随机java文件touch
通过这种方式,Eclipse“被愚弄”重新创建APK。

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

+0

hi adamk,谢谢你的回复!我不明白你的意思是什么“touch”..我怎么能在makefile中做到这一点? – hara 2010-07-11 13:55:24

+1

'touch'是一个Unix实用程序,它将文件的时间戳更改为当前时间(它也可在Cygwin下获得)。 它导致Eclipse相信最近编辑了一个文件,虽然它并没有真正改变。 – adamk 2010-07-11 13:58:31

+0

我试着在我的项目中同时触摸.java和.class文件,但eclipse仍然不刷新我的apk ..它说“应用程序已经部署,不需要重新安装。”...我发布我的自定义eclipse构建器question ... – hara 2010-07-11 14:26:38

1

而不是触摸源文件,我宁愿删除apk文件。随着“刷新自动”选项启用,我发现它立即重建apk。

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

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