9

Tôi đã di chuyển một dự án từ Eclipse. Dự án vẫn có cấu trúc tệp dự án "cũ" từ nhật thực (xem http://developer.android.com/tools/projects/index.html). Có cách nào để tự động thay đổi cấu trúc tệp thành hệ thống mới (xem http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Project-Structure) không? Nếu tôi hiểu phần http://developer.android.com/sdk/installing/studio-tips.html Cấu trúc dự án một cách chính xác, điều này sẽ gặp khó khăn khi di chuyển nhưng nó không phải là (có thể là một lỗi của tôi). Vì vậy, một lần nữa câu hỏi của tôi: là nó có thể thay đổi cấu trúc tập tin tự động? Nếu không, tôi phải thay đổi điều gì? Tôi phải thay đổi gì trong build.gradle? Tệp/thư mục lỗi thời là gì?Thay đổi cấu trúc tệp dự án sau khi di chuyển từ Eclipse sang cấu trúc phân cấp Android Studio

Cảm ơn!

Stephan

+1

Chào mừng bạn đến với Stackoverflow! Nếu bạn tìm thấy câu trả lời hữu ích, vui lòng bỏ phiếu. Nếu câu trả lời thành công trả lời câu hỏi của bạn, vui lòng nhấp vào dấu kiểm màu xanh bên cạnh để chấp nhận câu trả lời. Ngoài ra, hãy xem stackoverflow.com/questions/how-to-ask để được tư vấn về cách viết một câu hỏi hay – buzeeg

Trả lời

4

Trong khi di cư dự án của bạn từ Eclipse để Android Studio, không thay đổi đã được thực hiện trên cấu trúc dự án. Chỉ có thay đổi là các tệp .iml và .gradle mới.

mã java của bạn vẫn trongproject/src/thư mục, và đã không được dịch chuyển trong project/src/main/java thư mục (như trong một dự án tạo mới từ AndroidStudio).

tập tinAndroidManifestcủa bạn cũng vẫn trongproject/thư mục và chưa được di chuyển trong project/src/main/ thư mục (như trong một dự án tạo mới từ AndroidStudio).

Tại di cư, tập tin build.gradle được tùy biến để có thể biên dịch với cấu trúc cũ được mô tả trong tài liệu hướng dẫn gradle: Configuring the Structure

Đối với một dự án tạo mới trong AndroidStudio, các sourceSets một phần của việc xây dựng. gradle file:

sourceSets { 
    main.java.srcDirs = ['src/java'] 
    main.resources.srcDirs = ['src/resources'] 
} 

Đối với một dự án di cư từ Eclipse, các sourceSets một phần của tập tin build.gradle phải rằng:

android { 
    sourceSets { 
     main { 
      manifest.srcFile 'AndroidManifest.xml' 
      java.srcDirs = ['src'] 
      resources.srcDirs = ['src'] 
      aidl.srcDirs = ['src'] 
      renderscript.srcDirs = ['src'] 
      res.srcDirs = ['res'] 
      assets.srcDirs = ['assets'] 
     } 

     instrumentTest.setRoot('tests') 
    } 
} 

Với điều đó, bạn sẽ có thể tùy chỉnh cấu trúc dự án của bạn và xây dựng cho phù hợp.

+0

Tại sao Eclipse không di chuyển sang Studio bằng chính? Lý do là gì? Ưu/khuyết điểm? – powder366

+1

Tôi không chắc chắn nhưng tôi nghĩ rằng đây là cho retrocompatibility: có lẽ Ant không thể biên dịch các dự án theo phong cách ý tưởng (với thư mục chính). Bạn có thể làm điều đó bằng tay và sau đó đơn giản hóa file build.gradle của bạn – buzeeg

+1

Tôi đã làm nó một cách thủ công, một chút khéo léo nhưng nó hoạt động (tạo ra một dự án giả trong Studio để so sánh), sẽ là tốt với một tùy chọn để chọn ... Cảm ơn .. – powder366

Các vấn đề liên quan