2016-07-28 68 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支持。

祝你好運!