2013-07-03 60 views
5

Tôi đang cố chuyển từ eclipse sang android studio để phát triển Android của mình. Tuy nhiên, tôi vẫn chưa tìm được đúng cách để nhập dự án hiện có của mình. Tôi không biết liệu điều đó có quan trọng không: nhưng tôi đang sử dụng máy macKhông thể xây dựng dự án, vấn đề với gradle?

Tôi đã thực hiện bước xuất trong nhật thực, nhập công cụ này vào Android Studio, nhưng khi tôi cố gắng xây dựng dự án của mình, nó mang lại cho tôi lỗi này:

Gradle: 
FAILURE: Could not determine which tasks to execute. 
* What went wrong: 
Task 'assembleDebug' not found in project ':ProjectName'. 
* Try: 
Run gradle tasks to get a list of available tasks. 

Could not execute build using Gradle installation '/Users/<username>/Development/Build/gradle-1.6'. 

Đây là tập tin build.gradle rằng Eclipse đã cho tôi:

buildscript { 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:0.4.+' 
    } 
} 
apply plugin: 'android' 

dependencies { 
    compile project(':ProjectName:library:ActionBarSherlock') 
    compile project(':ProjectName:library:facebook') 
    compile files('../../../../../../../ProjectName/libs/gcm.jar') 
    compile files('../../../../../../../ProjectName/libs/libGoogleAnalyticsV2.jar') 
    compile files('../../../../../../../ProjectName/libs/commons-lang3-3.1.jar') 
    compile files('../../../../../../../ProjectName/libs/actionbarsherlock-plugin-maps-4.2.0.jar') 
    compile files('../../../../../../../NiteOwl/libs/volley.jar') 
    compile project(':ProjectName:library:PullToRefresh') 
    compile project(':ProjectName:library:google-play-services_lib') 
} 

    android { 
    compileSdkVersion 17 
    buildToolsVersion "17" 

    defaultConfig { 
     minSdkVersion 8 
     targetSdkVersion 17 
    } 
    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') 
    } 
} 

tôi đã nhìn thấy rất nhiều giải pháp khả thi, nhưng không ai trong số họ làm việc cho tôi, bất kỳ ý tưởng gì Tôi đang làm sai?

Đường dẫn đến dự án không có khoảng trống trong nó

jar thư viện => ProjectName/libs

thư viện android => ProjectName/thư viện

tất cả điều này đang làm việc tại nhật thực

+0

'/ Users//Development /' .. bạn đã thay thế tên người dùng thực sự của bạn? – Paschalis

Trả lời

5

Gần đây, chúng tôi cũng đã chuyển dự án của mình sang phân loại. Chúng tôi gặp sự cố do các dự án thư viện.

Để giải quyết nó, chúng ta thêm vào một tập tin settings.gradle trong thư mục gốc của dự án của bạn với

include ':libs:actionbarsherlock'
include ':yourprojectname'

Thêm tất cả các dự án thư viện của bạn từ nhật thực vào settings.gradle

Chúng tôi cũng đã xây dựng. tập tin gradle cho mỗi dự án thư viện.

AFAIK xuất từ ​​nhật thực không giải quyết tốt với các dự án thư viện.

+0

vâng, đó là vấn đề, tôi chỉ muốn đóng vấn đề này và trả lời câu hỏi của riêng tôi với cùng một kết luận. Thông báo lỗi có thể gợi ý rằng có vấn đề gì đó với bản thiết lập gradle, nhưng bây giờ tôi đã quen thuộc với hệ thống xây dựng, tôi nhận thấy rằng loại lỗi này hầu như luôn có liên quan đến lỗi xây dựng tệp. – Quentin

1

Trong build.gradle tại thư mục gốc của dự án của bạn (một trong đó có thể là chủ yếu có sản phẩm nào), thêm dòng sau:

task assemble{} 

Tìm thấy tại https://code.google.com/p/android/issues/detail?id=57531

+1

Tôi không nghĩ rằng dòng này là cần thiết, khi Gradle muốn sử dụng chức năng lắp ráp, nó có nghĩa là Gradle nghĩ rằng dự án này là một dự án java thuần túy (nhưng đó là Android). Các plugin android-gradle sử dụng assembleDebug, assembleRelease, ... Tại một số điểm thiết lập của tôi cũng yêu cầu tôi làm điều này, nhưng một khi các tập tin xây dựng của tôi là ok, dòng này không cần thiết nữa. – Quentin

0

Tôi đã có lỗi này xuất hiện khi tôi có một mùi vị trống rỗng trong căn nhà của tôi build.gradle:

productFlavors { 
} 
Các vấn đề liên quan