2017-10-27 34 views
57

Sử dụng studio android mới với công cụ cắm Gradle mới 3.0.0. Khi xây dựng một số cảnh báo xảy raRegisterResGeneratingTask không còn được dùng nữa, sử dụng registerGeneratedFolders (FileCollection)

registerResGeneratingTask is deprecated, use 
registerGeneratedFolders(FileCollection) 

Tôi đã tìm kiếm google rất nhiều! Vui lòng giúp khắc phục cảnh báo này!

+0

bạn có thể hiển thị các tác vụ được phân loại của mình không? u có phân chia apk không? – itzhar

+0

xin vui lòng cho thấy Gradle của bạn –

+0

Bạn đã thấy [bài viết này] (https://github.com/flutter/flutter/issues/10629) mô tả vấn đề chính xác (một vấn đề đã biết) và một cách giải quyết chưa? (Lần truy cập đầu tiên trên Google.) – ashleedawg

Trả lời

0

Đối với tôi cảnh báo này biến mất khi tôi tắt plugin gradle vải, hãy kiểm tra xem bạn có sử dụng vải hoặc plugin khác mà tôi chịu trách nhiệm cho cảnh báo này hay không.

+0

Vải đã loại bỏ, nhưng cảnh báo này vẫn xuất hiện. –

+0

Tôi không sử dụng vải và tôi có thông báo này! – thiagolr

+1

Vô hiệu hóa plugin io.fabric đã giảm 8 trong số các cảnh báo này xuống 4. Vì vậy, có vẻ như có nhiều hơn một nguồn. –

4

Từ những gì tôi có thể biết, các plugin được thêm vào dưới dạng phụ thuộc classpath sẽ gây ra sự cố. I E. Firebase gặp sự cố với nó. SpoonFlutter. Làm this Google search tiết lộ rất nhiều bản repo GitHub với một vấn đề được nêu lên trên cùng một điều, và tất cả những gì họ có chung là một thực tế rằng nó là một plugin Gradle. Vải dường như cũng là nguyên nhân, như được đề cập bởi Mate *

Từ những gì tôi có thể biết, sự cố xuất phát từ// nhiều plugin Gradle. Nó cũng có thể được kích hoạt bởi mã Gradle của bạn, nhưng điều này rất có thể không áp dụng nếu dự án của bạn là một ứng dụng chứ không phải là một plugin Gradle.

Và như đã đề cập trong Alex Cohn trong nhận xét, việc không dùng nữa là cảnh báo. Trong trường hợp này, nó có nghĩa là nó là một tính năng mà sẽ được loại bỏ cuối cùng. Vì vậy, bây giờ, giả sử nó là một plugin (và không được thực hiện bởi bạn), bạn có thể bỏ qua nó. Vào thời điểm nó bị xóa, hầu hết/tất cả các plugin chính cần được cập nhật để sửa lỗi.

Và, một lần nữa, đó là cảnh báo; không phải là lỗi. Bạn vẫn có thể chạy nó và bỏ qua nó nếu bạn không thể làm gì về vấn đề này. Vô hiệu hóa, ví dụ: plugin Fabric * là quá mức cần thiết, vì nó vẫn hoạt động.

tôi không sử dụng Fabric bản thân mình, và vải không được mã nguồn mở, vì vậy tôi không biết nếu các nhà phát triển cố định hay không

TL; DR: plugins Gradle là nguyên nhân. Đó là một cảnh báo (không phải là một lỗi), do đó, loại bỏ các plugin gây ra vấn đề là quá mức cần thiết. Nếu bạn không thể sửa chữa nó, hãy để nó một mình miễn là nó chỉ bị phản đối tại thời điểm (không được loại bỏ)


Nếu bạn sử dụng căn cứ hỏa lực, có một giải pháp cụ thể để nó cũng được đề cập trong di cư hướng dẫn (liên kết sau này trong bài này); loại trừ các module ổi

classpath ('com.google.firebase:firebase-plugins:1.1.0') { 
    exclude group: 'com.google.guava', module: 'guava-jdk5' 
} 

Vấn đề chính nó là khá khó khăn để phát hiện. Từ những gì tôi có thể nói, không có vấn đề duy nhất gây ra nó trong tất cả các plugin tôi đã kiểm tra (và được liên kết trong câu trả lời này). Nếu bạn đã mã hóa điều gì đó gây ra sự cố (và có thể khắc phục sự cố; thêm plugin gradle của bên thứ ba không gây ra sự cố), có một số điều bạn có thể thử khắc phục. Từ những gì tôi có thể nói về nguyên nhân thực sự, nó được giải quyết bằng cách cập nhật tệp Gradle (mặc dù trong thư viện Spoon, nó đã được sửa bằng cách thay đổi một dòng liên quan đến TestVariant) bằng cách làm theo các chủ đề trong plugin Gradle 3.0. 0 hướng dẫn di chuyển.

Toàn bộ điều được bao phủ by the developer docs, nhưng đây là một số những thứ tôi nghĩ là có liên quan dựa trên các yêu cầu kéo thực hiện các dự án mà nó là một vấn đề:

Bên cạnh việc cập nhật các phiên bản Gradle và plugin, bạn cũng cần để thêm google() repo dưới repositories.

compile hiện là implementation hoặc api, nhưng implementation là tùy chọn được đề xuất.

providedcompileOnlyapkruntimeOnly

androidTestCompile đã trở thành androidTestImplementation, và testCompile ->testImplementation

Nếu bạn sử dụng hương vị, bạn phải sử dụng thứ nguyên hương vị (bao phủ bởi các tài liệu).

Đối với các loại xây dựng, bạn phải bao gồm các dự phòng trong trường hợp có thư viện không có loại xây dựng đó. Các giá trị này được xác định trong khối profile trong khối android.

Nếu chưa hoàn tất, plugin gradle phải được xác định trước. Nếu bạn không có bất kỳ phụ thuộc classpath nào khác, nó không phải là một vấn đề. Nhưng nếu bạn làm thế, hãy chắc chắn rằng plugin gradle được định nghĩa trước.

Nếu bạn sử dụng testVariants, hãy đảm bảo bạn không gọi số testedVariant trong lớp học. Nó dường như là nguyên nhân cho thư viện Spoon.

Những điều này, từ những gì tôi có thể nói, một số thay đổi đã được thực hiện để khắc phục sự cố.

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