2016-07-28 70 views
0

我想知道是否可以将现有代码库(混合Java和C++)转换为基于IDE(Eclipse或Android Studio)的项目?我拥有的混合代码基础非常庞大且成熟,截至今天,我没有使用任何IDE,并计划将该代码库导入到Eclipse或Android Studio等IDE中。 请注意,混合代码库使用Android.mk和Application.mk文件。我想到的是:将Java/C++代码库转换为基于IDE的项目

  1. 创建基于Eclipse项目,并保持MK文件,是
  2. 或者由于Android Studio使用gradle这个构建文件,而不是MK文件。可能是我可以先创建一个基于Eclipse的项目,然后将其转换为基于Android Studio的项目。

请帮我解释一下你的想法。

谢谢!

回答

0

是的,你可以做到。我使用eclipse,所以我们来谈谈这个。

  1. 获得日食火星。

  2. 获取您的C/C++编译器(我使用MinGW和msys,所以我必须将它们添加到路径中)。

  3. 在Eclipse中转到帮助==>安装新软件==>从下拉列表中选择火星。
  4. 添加CDT组件到eclipse中。
  5. 在Eclipse中创建一个新的C项目。
  6. 保存您的理智并前往建设者和Project Facets并选择多面形式。
  7. 您可以创建一个空的C项目或选择具有现有代码的Makefile项目。我通常选择C项目Makefile项目空项目和我想使用的工具(MinGW GCC)。
  8. 您可能需要关闭Project ==> Build自动并将C/C++构建命令更改为gmake(或其他)。在行为中,我在资源保存中取消选中了Build,并单击Build并清理并分别将目标名称更改为all和clean。
  9. 现在你需要在eclipse中使用build。右键单击该项目并选择构建配置,然后使用“全部生成”和“全部清理”。
  10. 现在你可以玩你自己的make文件。就个人而言,我不喜欢所有在一个目录中的所有东西,所以我更喜欢我的makefile在根目录和子目录/ src/bin和/ obj。下面是一个简单的makefile,在Windows或Linux和工作器具“干净”和“所有与上述结构在33条线路:
CC  = gcc 
# compiling flags here 
CFLAGS = -std=c99 -Wall -I. 
# linking flags here 
LFLAGS = -Wall -I. -lm 
LINKER = gcc -o 
SRCDIR = src 
OBJDIR = obj 
BINDIR = bin 
SOURCES := $(wildcard $(SRCDIR)/*.c) 
INCLUDES := $(wildcard $(SRCDIR)/*.h) 
OBJECTS := $(SOURCES:$(SRCDIR)/%.c=$(OBJDIR)/%.o) 
RM=rm -f 
TARGET = main 
ifdef ComSpec 
    EXT=.exe 
else 
    EXT= 
endif 

all: $(BINDIR)/$(TARGET) 

$(BINDIR)/$(TARGET): $(OBJECTS) 
    @$(LINKER) [email protected] $(LFLAGS) $(OBJECTS) 
    @echo "Linking complete!" 

$(OBJECTS): $(OBJDIR)/%.o : $(SRCDIR)/%.c 
    @$(CC) $(CFLAGS) -c $< -o [email protected] 
    @echo "Compiled "$<" successfully!" 

clean: 
    @-$(RM) $(OBJECTS) $(BINDIR)/$(TARGET)$(EXT) 
    @echo "Cleanup complete!" 

这应该让你滚。调试应该是可行的,你可以在你获得这个基本级别的功能后添加你的android特定的东西。如果你的.mk文件有奇怪的名字,你可能需要使用命令gmake -f makefilename来使它变得快乐。

SpringSource STS团队的Gradle eclipse插件支持eclipse的gradle支持。

祝你好运!