8

Tất cả đều ổn cho đến khi tôi cập nhật studio android thành Canary 6, Khi tôi xây dựng lại hoặc làm sạch hoặc bất kỳ thứ gì với dự án, nó ném :

Một thất bại xảy ra trong khi thực hiện com.android.build.gradle.tasks.MergeResources $ FileGenerationWorkAction

Và lỗi này hướng dẫn cho tôi để vectors.xml tôi [Tất cả trong số họ đã nhận lỗi này] .

tôi cấp ứng dụng hiện tại build.gradle:

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 25 
    buildToolsVersion "25.0.2" 
    useLibrary 'org.apache.http.legacy' 
    defaultConfig { 
     applicationId "example.project" 
     minSdkVersion 15 
     targetSdkVersion 25 
     versionCode 42 
     versionName "1.3" 
     testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
     //multiDexEnabled = true 
    } 
    buildTypes { 
     buildTypes { 
      release { 
       minifyEnabled false 
       proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
      } 
     } 
    } 
} 


dependencies { 

    compile 'com.android.support:appcompat-v7:25.3.1'//<-- can't update to new one 
    compile 'com.android.support:design:25.3.1' 
    compile 'com.android.support.constraint:constraint-layout:1.0.2' 
    compile 'com.android.support:support-v4:25.3.1' 
    compile 'com.google.code.gson:gson:2.7' 
    compile 'com.android.support:support-v13:25.3.1' 
    compile 'com.android.support:palette-v7:25.3.1' 
    compile 'de.hdodenhof:circleimageview:2.1.0' 
    compile 'com.squareup.picasso:picasso:2.5.2' 
    compile 'com.mcxiaoke.volley:library-aar:1.0.0' 
    compile 'com.squareup.okhttp3:okhttp:3.0.1' 
    compile 'com.android.support:multidex:1.0.1' 
    testCompile 'junit:junit:4.12' 
} 

Ngoài ra khi tôi đã cố gắng để tải về com.android.support thư viện, Các IDE chỉ tìm kiếm các sdk và chỉ cần không làm gì cả.

gì tôi đã được thử nghiệm:

  • sạch và Rebuild.

  • Cache không hợp lệ.

+0

Có rất nhiều vấn đề với android studio canary 6, tôi khuyên bạn nên làm việc trên android studio 2.3.3 hoặc thay đổi đường dẫn của bạn trong phụ thuộc thứ thành 2.3 .3 – Mohad12211

+0

Canary 4 ổn định hơn 5/6, đặc biệt nếu bạn sử dụng Kotlin + ConstraintLayout. –

Trả lời

41

Ưu điểm của việc thêm một đa đồ họa vector mật độ là sử dụng vectơ thay vì bitmap để giảm kích thước của APK vì kích thước của cùng một tệp có thể được điều chỉnh cho các mật độ màn hình khác nhau mà không làm mất chất lượng hình ảnh. Đối với phiên bản cũ của Android không hỗ trợ drawables vector, Vector Asset Studio có thể, tại thời gian xây dựng, rẽ drawables vector của bạn vào kích thước bitmap khác nhau cho mỗi màn hình mật độ

classpath 'com.android.tools.build:gradle:3.0.0-alpha8 

build.gradle

android { 
    defaultConfig { 
    vectorDrawables.useSupportLibrary = true 
    } 
} 
+0

bạn đã tiết kiệm thời gian của tôi. 1 phiếu bầu cho u. Tnx lần nữa –

1

Có một vấn đề rất nhiều với Android Studio chim hoàng yến 6, cách tốt nhất để giải quyết đó là thay đổi đường dẫn lớp của bạn trong sự phụ thuộc vào gradle của bạn để

classpath 'com.android.tools.build:gradle:2.3.3' 
+0

bạn chắc chắn rằng phiên bản '2.3.3' sẽ hoạt động với việc xây dựng ecxution? – Ibrahim

+0

Tôi đã thay đổi classpath thành 2.3.3 trong android canary studio 6 mà không gặp bất kỳ vấn đề gì. – Mohad12211

+0

Sự cố không liên quan gì đến phiên bản Android Studio hoặc Gradle. Nó cũng xảy ra trong bản phát hành Android Studio 3.0. Giải pháp là vectorDrawables.useSupportLibrary = cờ thực sự được đề cập trong các câu trả lời khác. – Minsky

8

Thêm vectorDrawables.useSupportLibrary = true vào defaultConfig của build.gradle (Module) đã hoạt động đối với tôi. :)

2

Tôi gặp vấn đề tương tự. Có hai cách để giải quyết trường hợp của tôi:

  1. Thêm vectorDrawables.useSupportLibrary = true
  2. Trong file vector xml drawable của tôi đã có liên kết đến @color:

    <path 
        android:fillColor="@color/white" 
        ... 
    

    tôi thay thế bằng

    <path 
        android:fillColor="#fff" 
        ... 
    

    và vấn đề biến mất.

1

Chỉ cần thêm vectorDrawables.useSupportLibrary = true trong defaultConfig, nó hoạt động tốt cho tôi

defaultConfig { 
     vectorDrawables.useSupportLibrary = true 
} 
Các vấn đề liên quan