我的C本机程序如何检测它是否在Android平台上运行

时间:2013-01-18 17:19:40

标签: android environment-variables native

我正在Linux笔记本电脑上编写一些C应用程序,但在办公室,偶尔会使用ndk-build将其移植到Android平台。每次我切换平台时,我都需要更改一堆特定于笔记本电脑或Android平台的路径。所以我目前设置了类似的东西:

#define ANDROID 1

#ifdef ANDROID
  #define ....
  #define ... bunch of stuff specific to android
#else
  #define ... bunch of stuff specific to my laptop. 
#endif

每次我必须记住评论/取消注释#define ANDROID行。这令人生气。有没有办法直接检测我是在Android环境或常规Linux环境中运行,然后相应地设置我的路径?感谢。

2 个答案:

答案 0 :(得分:1)

在你的Android.mk

中添加这样的内容
LOCAL_CFLAGS    := -DANDROID

其中-D是预定义符号的标志,ANDROID是定义的符号

然后代码中的#ifdef ANDROID块将起作用。

答案 1 :(得分:0)

这取决于你的发展方式。您可以将参数用于Makefile,或者如果您使用Eclipse,那么您可能每个平台都有一个项目。在每个项目中,设置与目标平台相对应的相应变量。