ใช้สตูดิโอ android ใหม่พร้อมปลั๊กอิน 3.0.0 Gradle ใหม่
เมื่อสร้างคำเตือนเกิดขึ้น:
registerResGeneratingTask is deprecated, use
registerGeneratedFolders(FileCollection)
ใช้สตูดิโอ android ใหม่พร้อมปลั๊กอิน 3.0.0 Gradle ใหม่
เมื่อสร้างคำเตือนเกิดขึ้น:
registerResGeneratingTask is deprecated, use
registerGeneratedFolders(FileCollection)
คำตอบ:
จากสิ่งที่ฉันสามารถบอกได้ปลั๊กอินที่เพิ่มเข้ามาเป็นการอ้างอิง classpath จะทำให้เกิดปัญหา Ie Firebaseมีปัญหากับมัน ช้อนและกระพือเช่นกัน เมื่อทำการค้นหาโดย Googleพบว่ามี repos GitHub จำนวนมากที่มีปัญหายกตัวอย่างเช่นเดียวกันและสิ่งที่พวกเขามีเหมือนกันคือความจริงที่ว่ามันเป็นปลั๊กอินของ Gradle ผ้าที่ดูเหมือนจะเป็นสาเหตุเช่นกันดังกล่าวโดยMate *
จากสิ่งที่ฉันสามารถบอกได้ปัญหามาจาก / หลาย Gradle plugin มันสามารถถูกทริกเกอร์ด้วยรหัส Gradle ของคุณได้ แต่สิ่งนี้อาจไม่สามารถใช้ได้ถ้าโครงการของคุณเป็นแอปและไม่ใช่ปลั๊กอิน Gradle
และดังที่Alex Cohnกล่าวไว้ในความคิดเห็นการคัดค้านเป็นคำเตือน ในกรณีนี้หมายความว่าเป็นคุณลักษณะที่จะถูกลบในที่สุด ดังนั้นสำหรับตอนนี้สมมติว่ามันเป็นปลั๊กอิน (และคุณไม่ได้ทำ) คุณสามารถละเว้นได้ เมื่อถึงเวลาที่ถูกลบออกปลั๊กอินหลักส่วนใหญ่ / ทั้งหมดควรได้รับการอัปเดตเพื่อแก้ไข
และอีกครั้งมันเป็นคำเตือน; ไม่ใช่ข้อผิดพลาด คุณยังคงสามารถเรียกใช้และละเว้นได้หากไม่มีสิ่งใดที่คุณสามารถทำได้เกี่ยวกับปัญหา การปิดใช้งานเช่นปลั๊กอิน Fabric * นั้นเกินความเป็นจริงเพราะมันยังใช้ได้
ฉันไม่ได้ใช้ Fabric ด้วยตนเองและ Fabric ไม่ใช่โอเพ่นซอร์สดังนั้นฉันไม่รู้ว่านักพัฒนาแก้ไขหรือไม่
TL; DR:ปลั๊กอิน Gradle เป็นสาเหตุ มันเป็นคำเตือน (ไม่ใช่ข้อผิดพลาด) ดังนั้นการลบปลั๊กอินที่ทำให้เกิดปัญหามากเกินไป หากคุณไม่สามารถแก้ไขได้ให้ปล่อยให้มันอยู่คนเดียวตราบใดที่มันเลิกใช้แล้วในขณะนี้เท่านั้น (ไม่ถูกลบ)
หากคุณใช้ Firebase จะมีวิธีแก้ไขเฉพาะตามที่กล่าวไว้ในคู่มือการโยกย้าย (ลิงก์ในภายหลังในโพสต์นี้) ไม่รวมโมดูลฝรั่ง
classpath ('com.google.firebase:firebase-plugins:1.1.0') {
exclude group: 'com.google.guava', module: 'guava-jdk5'
}
ปัญหานี้ตรวจพบค่อนข้างยาก จากสิ่งที่ฉันสามารถบอกได้ไม่มีปัญหาเดียวที่ทำให้เกิดปัญหากับปลั๊กอินทั้งหมดที่ฉันตรวจสอบ (และเชื่อมโยงในคำตอบนี้) หากคุณเขียนโค้ดบางอย่างที่ทำให้เกิดปัญหา (และเป็นไปได้ที่จะแก้ไขโดยเพิ่มปลั๊กอิน gradle บุคคลที่สามไม่ได้ทำให้เกิด) มันมีบางสิ่งที่คุณสามารถลองแก้ไขได้
จากสิ่งที่ฉันสามารถบอกได้ว่าสาเหตุที่แท้จริงนั้นได้รับการแก้ไขโดยการอัปเดตไฟล์ Gradle (แม้ว่าจะอยู่ในไลบรารี Spoon แต่ก็มีการแก้ไขโดยการเปลี่ยนบรรทัดที่เกี่ยวข้องTestVariant
) โดยทำตามหัวข้อในคู่มือการโยกย้าย Gradle plugin 3.0.0
เอกสารทั้งหมดครอบคลุมโดยนักพัฒนาซอฟต์แวร์แต่นี่คือบางสิ่งที่ฉันคิดว่ามีความเกี่ยวข้องตามคำขอดึงที่ทำในโครงการที่มีปัญหา:
นอกเหนือจากการอัปเดตเวอร์ชั่นและปลั๊กอินของ Gradle แล้วคุณยังต้องเพิ่มgoogle()
repo repositories
ด้วย
compile
คือตอนนี้implementation
หรือapi
แต่implementation
เป็นสิ่งที่แนะนำ
provided
เป็นcompileOnly
และapk
เป็นruntimeOnly
androidTestCompile
ได้กลายเป็นandroidTestImplementation
และtestCompile
->testImplementation
หากคุณใช้รสชาติคุณต้องใช้ขนาดรสชาติ (ครอบคลุมโดยเอกสาร)
สำหรับประเภทบิลด์คุณจะต้องใส่ทางเลือกในกรณีที่มีไลบรารี่ที่ไม่มีประเภทบิลด์นั้น สิ่งเหล่านี้ถูกกำหนดในprofile
บล็อกใต้android
บล็อก
หากยังไม่ได้ดำเนินการปลั๊กอิน gradle จะต้องกำหนดก่อน หากคุณไม่มีการพึ่งพา classpath อื่น ๆ นั่นไม่ใช่ปัญหา แต่ถ้าคุณทำให้แน่ใจว่าปลั๊กอิน gradle ถูกกำหนดไว้ก่อน
ถ้าคุณใช้testVariants
ตรวจสอบให้แน่ใจว่าคุณไม่ได้โทรtestedVariant
ในชั้นเรียน ดูเหมือนจะเป็นสาเหตุของห้องสมุดช้อน
สิ่งเหล่านี้เป็นสิ่งที่ฉันสามารถบอกได้จากการเปลี่ยนแปลงบางอย่างที่เกิดขึ้นเพื่อแก้ไขปัญหา
ฉันกำลังใช้บริการเล่น Gradle ปลั๊กอินกับรุ่นcom.google.gms:google-services
4.2.0
ดังนั้นสำหรับฉันนั่นเป็นเหตุผลของคำเตือนของฉันและไม่สามารถลบออกได้จนกว่าปลั๊กอินจะได้รับการแก้ไข ปัญหาอยู่ที่นี่
ตามที่ระบุไว้โดย @Zoe สิ่งนี้อาจมาจาก Gradle Plugins อื่นด้วย
ดีที่สุด
ปัญหาได้รับการแก้ไขด้วยปลั๊กอินบริการของ Google เวอร์ชัน 4.3.0 (แก้ไขด้วยการกระทำนี้ )
buildscript {
dependencies {
// Change version to 4.3.0
classpath 'com.google.gms:google-services:4.3.0'
}
}
พบได้ที่นี่
การอัพเดตปลั๊กอิน Fabric Gradle เป็นเวอร์ชันล่าสุดจะช่วยแก้ไขปัญหานี้ได้
จากการเปลี่ยนแปลง:
ในกรณีของฉันนี้เกิดจากไลบรารีสนับสนุน Android เวอร์ชันที่ไม่ตรงกัน ฉันอัปเดตโมดูลทั้งหมดเป็นรุ่นล่าสุด (28.0.0) และแก้ไขได้
หลังจากติดตั้งผ้าอย่างถูกต้องปัญหานี้ได้รับการแก้ไขสำหรับฉัน
import com.crashlytics.android.Crashlytics;
import io.fabric.sdk.android.Fabric;
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
Fabric.with(this, new Crashlytics());
}
}
build.gradle
buildscript {
repositories {
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
classpath 'io.fabric.tools:gradle:1.+'
}
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
dependencies {
implementation 'com.crashlytics.sdk.android:crashlytics:2.9.9'
}
repositories {
mavenCentral()
maven { url 'https://maven.fabric.io/public' }
}
ฉันได้รับข้อความแสดงข้อผิดพลาดนี้และอีกมากมายที่ชอบ
x-version is deprecated and use y-version instead and it'll be removed in 2019
และโครงการทั้งหมดของฉันเริ่มส่งข้อความแสดงข้อผิดพลาดเดียวกันทันที
Android studio ให้คำเตือนเกี่ยวกับโปรแกรมป้องกันไวรัสของฉัน ฉันพยายามกำหนดค่า แต่ไม่ทำงาน
ในที่สุดฉันก็ถอนการติดตั้งโปรแกรมป้องกันไวรัส QuickHeal ออกจากระบบของฉันและตอนนี้ก็เรียบร้อย
ทุกคำตอบอื่น ๆ ที่เกี่ยวกับปัญหาที่เกิดขึ้นกับส่วนประกอบของบุคคลที่สาม
นี่คือวิธีอัปเดตโครงการของคุณที่ใช้registerResGeneratingTask
โดยตรง:
ก่อน:
variant.registerResGeneratingTask generateIcon, ICON_DIR
หลังจาก:
variant.mergeResourcesProvider.get().dependsOn generateIcon
variant.registerGeneratedResFolders files(ICON_DIR)
การสร้างระดับโครงการ
ใช้การพึ่งพาบริการของ Google เวอร์ชันต่อไปนี้
dependencies {
classpath 'com.android.tools.build:gradle:3.4.2'
classpath 'com.google.gms:google-services:4.3.0'
classpath ('com.google.firebase:firebase-plugins:1.1.0') {
exclude group: 'com.google.guava', module: 'guava-jdk5'
}
}
แก้ไขปัญหาสำหรับฉันแล้ว
สำหรับฉันคำเตือนนี้หายไปเมื่อฉันปิดปลั๊กอิน gradle ผ้าโปรดตรวจสอบว่าคุณใช้ผ้าหรือปลั๊กอินอื่นที่ฉันรับผิดชอบสำหรับคำเตือนนี้
com.google.gms:google-services
4.0.1
& 4.0.2
ทั้งทำให้เกิดการแจ้งเตือนนี้