คำถามติดแท็ก gradle

Gradle เป็นเครื่องมือสร้างโปรเจ็กต์อัตโนมัติที่ใช้ Groovy DSL สคริปต์การสร้าง Gradle สนับสนุนที่เก็บ Maven และ Ivy รวมถึงระบบไฟล์ธรรมดาสำหรับการจัดการการพึ่งพา

2
เหตุใดจึงมีไฟล์ build.gradle สองไฟล์ในโครงการ Android Studio
หลังจากนำเข้าโปรเจ็กต์ Eclipse ไปยัง Android Studio ฉันเห็นสองbuild.gradleไฟล์: 1 - <PROJECT_ROOT>\build.gradle 2 - <PROJECT_ROOT>\app\build.gradle เวอร์ชันแรกสั้นกว่าเวอร์ชันที่สองมีคำจำกัดความสำหรับcompileSdkVersionฯลฯ จุดประสงค์เบื้องหลังการมีไฟล์สองไฟล์แยกกันคืออะไร? มีงานสร้างแยกกันหรือไม่?

5
วิธีให้คุณสมบัติของระบบกับการทดสอบของฉันผ่าน Gradle และ -D
ฉันมีโปรแกรม Java ที่อ่านคุณสมบัติของระบบ System.getProperty("cassandra.ip"); และฉันมีไฟล์สร้าง Gradle ที่ฉันเริ่มต้นด้วย gradle test -Pcassandra.ip=192.168.33.13 หรือ gradle test -Dcassandra.ip=192.168.33.13 อย่างไรก็ตามSystem.getPropertyจะคืนค่า nullเสมอ วิธีเดียวที่ฉันพบคือเพิ่มสิ่งนั้นในไฟล์สร้าง Gradle ของฉันผ่านทาง test { systemProperty "cassandra.ip", "192.168.33.13" } ฉันจะทำอย่างไรผ่าน -D
103 java  testing  gradle 

1
ความแตกต่างระหว่างการกำหนดค่าคอมไพล์และรันไทม์ใน Gradle
คำถามของฉันเป็นเรื่องธรรมดาเล็กน้อย แต่ก็เชื่อมโยงกับ Gradle ด้วย ทำไมเราต้องคอมไพล์และการกำหนดค่ารันไทม์? เมื่อฉันรวบรวมบางสิ่งฉันต้องการสิ่งประดิษฐ์เพื่อแปลงคลาส java ของฉันใน bytecode ดังนั้นฉันจึงต้องการการกำหนดค่าคอมไพล์ แต่เหตุใดจึงจำเป็นต้องมีการกำหนดค่ารันไทม์ฉันจึงต้องมีอย่างอื่นเพื่อเรียกใช้แอปพลิเคชันของฉันใน JVM ขออภัยหากฟังดูโง่ แต่ไม่เข้าใจ

8
แอพหลายรสชาติตามไลบรารีหลายรสใน Android Gradle
แอปของฉันมีหลายรสชาติสำหรับระบบการเรียกเก็บเงินในแอปหลายตลาด ฉันมีห้องสมุดเดียวที่แชร์รหัสพื้นฐานสำหรับโครงการทั้งหมดของฉัน ดังนั้นฉันจึงตัดสินใจเพิ่มระบบการชำระเงินเหล่านั้นในห้องสมุดนี้เป็นรสชาติของผลิตภัณฑ์ คำถามคือห้องสมุด android สามารถมีรสชาติของผลิตภัณฑ์ได้หรือไม่? ถ้าเป็นเช่นนั้นฉันจะรวมรสชาติที่แตกต่างกันในรสชาติของแอปได้อย่างไร ฉันค้นหาข้อมูลมากมายและไม่พบอะไรเกี่ยวกับสถานการณ์นี้ สิ่งเดียวที่ฉันพบคือสิ่งนี้ในhttp://tools.android.com/tech-docs/new-build-system/user-guide : dependencies { flavor1Compile project(path: ':lib1', configuration: 'flavor1Release') flavor2Compile project(path: ':lib1', configuration: 'flavor2Release') } ฉันเปลี่ยนการกำหนดค่าเป็นอย่างอื่น แต่ใช้งานไม่ได้! ฉันใช้ android studio 0.8.2

19
คัดลอกโครงการที่มีอยู่ด้วยชื่อใหม่ใน Android Studio
ฉันต้องการคัดลอกโครงการ Android ของฉันและสร้างโครงการใหม่จากไฟล์เดียวกันโดยใช้ชื่ออื่น จุดประสงค์คือเพื่อให้ฉันมีแอปเวอร์ชันที่สองซึ่งรองรับโฆษณาในแอปสโตร์ ฉันพบคำตอบนี้ที่นี่: Android - คัดลอกโครงการที่มีอยู่ด้วยชื่อใหม่ แต่สำหรับ Eclipse ฉันจะทำสิ่งนี้ใน Android Studio ได้อย่างไร

9
“ ประเภทโปรแกรมมีอยู่แล้ว” หมายความว่าอย่างไร
ฉันกำลังพยายามสร้างแอปใน Android Studio หลังจากเพิ่มไลบรารี Eclipse Paho เป็นการพึ่งพาผู้ไล่ระดับ (หรือเป็น Maven ฉันยังใหม่กับระบบนิเวศของ Android) ฉันได้รับข้อผิดพลาดต่อไปนี้: Program type already present: android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat Message{kind=ERROR, text=Program type already present: android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat, sources=[Unknown source file], tool name=Optional.of(D8)} ฉันได้ตรวจสอบคำถาม StackOverflow ที่แตกต่างกันมากมายเกี่ยวกับข้อผิดพลาดนี้ แต่คำตอบทั้งหมดเฉพาะสำหรับบางไลบรารี ฉันไม่เพียง แต่มองหาวิธีแก้ไขข้อผิดพลาดเท่านั้น แต่ยังเข้าใจถึงความหมายของข้อผิดพลาดด้วย ด้วยวิธีนี้จะง่ายขึ้นสำหรับผู้คนที่จะหาทางแก้ไขสำหรับกรณีเฉพาะ จนถึงขณะนี้ยังไม่มีคำตอบที่ระบุไว้ จากคำตอบอื่น ๆ ของ StackOverflow ฉันได้รวบรวมว่ามันเกี่ยวข้องกับไฟล์ gradle ของฉัน ดังนั้นนี่คือ app / build.gradle: apply plugin: …

5
ปลั๊กอินที่เข้ากันไม่ได้สำหรับ Android-apt หลังจากอัปเกรดเป็น Android Studio 2.3
หลังจากอัปเกรดจาก 2.2 เป็น 2.3 ฉันเห็นคำเตือนนี้ และเมื่อฉันพยายามรวบรวมโครงการฉันเห็นข้อผิดพลาดในการคอมไพล์นี้ ฉันจะแก้ปัญหานี้ได้อย่างไรโดยไม่ต้องดาวน์เกรดเป็น Gradle เวอร์ชันก่อนหน้า มีการอัปเดต android-apt ที่สามารถแก้ปัญหานี้ได้หรือไม่?

7
ฉันจะเพิ่มชุดแหล่งที่มาใหม่ใน Gradle ได้อย่างไร
ฉันต้องการเพิ่มการทดสอบการรวมเข้ากับ Gradle build ของฉัน (เวอร์ชัน 1.0) พวกเขาควรทำงานแยกจากการทดสอบปกติของฉันเนื่องจากต้องใช้ webapp เพื่อปรับใช้กับ localhost (พวกเขาทดสอบ webapp นั้น) การทดสอบควรสามารถใช้คลาสที่กำหนดไว้ในชุดแหล่งข้อมูลหลักของฉัน ฉันจะทำให้สิ่งนี้เกิดขึ้นได้อย่างไร

5
ไม่พบเมธอด leftShift () สำหรับอาร์กิวเมนต์หลังจากอัปเดต Studio 3.4
หลังจากอัปเดต3.4เวอร์ชันสตูดิโอและ Gradle เป็น5.1.1ฉันได้รับข้อผิดพลาดในงานของฉันเนื่องจากไม่พบวิธีการ leftShift () งานของฉัน: task incrementBetaVersion << { println("Incrementing Beta Version Number...") incrementVersionNumber('BetaVersionNumber') println("Incrementing Beta Version Number...") incrementVersionName('BetaVersionName') } ฉันได้รับข้อผิดพลาดสำหรับตัวดำเนินการกะด้านซ้าย<<ในบรรทัด จะแก้ไขข้อผิดพลาดนี้ได้อย่างไร?

6
Jetifier คืออะไร?
Jetifier คืออะไร? ตัวอย่างเช่นในการสร้างโปรเจ็กต์ใหม่โดยใช้ androidx-packaged dependencies โปรเจ็กต์ใหม่นี้จำเป็นต้องเพิ่มบรรทัดต่อไปนี้ในไฟล์gradle.properties : android.enableJetifier=true - "เปิดใช้งาน jetifier" หมายความว่าอย่างไร
101 android  gradle  androidx 

3
ฉันจะนำเข้าสคริปต์ Gradle หนึ่งไปยังอีกสคริปต์หนึ่งได้อย่างไร
ฉันมีสคริปต์ gradle ที่ซับซ้อนซึ่งรวบรวมฟังก์ชันการทำงานรอบ ๆ การสร้างและปรับใช้โครงการ netbeans จำนวนมากกับสภาพแวดล้อมต่างๆ สคริปต์ทำงานได้ดีมาก แต่โดยพื้นฐานแล้วมันถูกกำหนดค่าผ่านแผนที่ครึ่งโหลที่มีข้อมูลโครงการและสภาพแวดล้อม ฉันต้องการแยกงานออกเป็นไฟล์อื่นเพื่อที่ฉันจะได้กำหนดแผนที่ของฉันในไฟล์บิลด์ธรรมดาและนำเข้างานจากไฟล์อื่นได้ ด้วยวิธีนี้ฉันสามารถใช้งานหลักเดียวกันกับโครงการต่างๆและกำหนดค่าโครงการเหล่านั้นด้วยชุดแผนที่ง่ายๆ ใครช่วยบอกฉันหน่อยได้ไหมว่าฉันจะนำเข้าไฟล์ gradle หนึ่งไฟล์ไปยังอีกไฟล์หนึ่งในลักษณะเดียวกับงานของ Ant ฉันลากเส้นเอกสารของ Gradle จนไม่มีประโยชน์ ข้อมูลเพิ่มเติม หลังจากคำตอบของทอมด้านล่างฉันคิดว่าฉันจะพยายามชี้แจงว่าฉันหมายถึงอะไร โดยทั่วไปฉันมีสคริปต์ gradle ซึ่งรันโปรเจ็กต์ย่อยจำนวนมาก อย่างไรก็ตามโครงการย่อยเป็นโครงการ Netbeans ทั้งหมดและมาพร้อมกับสคริปต์สร้างมดของตัวเองดังนั้นฉันจึงมีงานที่ต้องทำอย่างค่อยเป็นค่อยไปเพื่อเรียกสิ่งเหล่านี้ ปัญหาของฉันคือฉันมีการกำหนดค่าบางอย่างที่ด้านบนของไฟล์เช่น: projects = [ [name:"MySubproject1", shortname: "sub1", env:"mainEnv", cvs_module="mod1"], [name:"MySubproject2", shortname: "sub2", env:"altEnv", cvs_module="mod2"] ] จากนั้นฉันสร้างงานต่างๆเช่น: projects.each({ task "checkout_$it.shortname" << { // Code to …
101 java  ant  groovy  build  gradle 

5
จะเรียกใช้การทดสอบ JUnit ด้วย Gradle ได้อย่างไร
ขณะนี้ฉันมีไฟล์build.gradleต่อไปนี้: apply plugin: 'java' sourceSets { main { java { srcDir 'src/model' } } } dependencies { compile files('libs/mnist-tools.jar', 'libs/gson-2.2.4.jar') runtime fileTree(dir: 'libs', include: '*.jar') } นี้build.gradleไฟล์สำหรับการเก็บข้อมูลของฉันที่นี่ ไฟล์ทั้งหมดของหลักของฉันอยู่ในsrc / รุ่น /และการทดสอบของตนอยู่ในการทดสอบ / รุ่น ฉันจะเพิ่มวิธี JUnit 4 พึ่งพาได้อย่างถูกต้องและเรียกใช้การทดสอบผู้ที่อยู่ในโฟลเดอร์ของการทดสอบ / รุ่น ?

2
วิธีเพิ่มคอลเลกชัน Apache Commons ใน Android Studio (Gradle)
ฉันพยายามใช้ ListUtils แต่เมื่อฉันรันแอพฉันได้รับข้อผิดพลาดนี้: Caused by: java.lang.ClassNotFoundException: Didn't find class "org.apache.commons.collections.ListUtils" on path: DexPathList[[zip file "/data/app/com.meridianaspect.wiw-2/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]] ดังนั้นฉันเดาว่าฉันต้องนำเข้าไลบรารีนั้นผ่าน gradle แต่ฉันไม่รู้ว่าจะทำอย่างไร
100 android  gradle 

7
วิธีส่งตัวเลือก JVM จาก bootRun
ฉันกำลังพัฒนาแอปพลิเคชันเว็บ Spring แบบง่ายที่สื่อสารกับโฮสต์ระยะไกลและฉันต้องการทดสอบในเครื่องหลังพร็อกซีขององค์กร ฉันใช้ปลั๊กอิน gradle "Spring Boot" และคำถามคือฉันจะระบุการตั้งค่าพร็อกซีสำหรับ JVM ได้อย่างไร ฉันได้ลองทำหลายวิธี: gradle -Dhttp.proxyHost=X.X.X.X -Dhttp.proxyPort=8080 bootRun export JAVA_OPTS="-Dhttp.proxyHost=X.X.X.X -Dhttp.proxyPort=8080" export GRADLE_OPTS="-Dhttp.proxyHost=X.X.X.X -Dhttp.proxyPort=8080" แต่ดูเหมือนว่าจะไม่มีการทำงานใด ๆ - "NoRouteToHostException" พ่นรหัส "เครือข่าย" นอกจากนี้ฉันได้เพิ่มโค้ดพิเศษเพื่อแก้จุดบกพร่อง JVM start อาร์กิวเมนต์ RuntimeMXBean runtimeMxBean = ManagementFactory.getRuntimeMXBean(); List<String> arguments = runtimeMxBean.getInputArguments(); for (String arg: arguments) System.out.println(arg); และพิมพ์อาร์กิวเมนต์เดียวเท่านั้น: "-Dfile.encoding = UTF-8" หากฉันตั้งค่าคุณสมบัติของระบบในรหัส: System.setProperty("http.proxyHost", …
100 java  gradle  spring-boot 

6
ไม่พบวิธี Gradle DSL: 'kapt ()'
ไม่พบเมธอด Gradle DSL: 'kapt ()' สาเหตุที่เป็นไปได้: โปรเจ็กต์ 'jetpacklearn' อาจใช้ปลั๊กอิน Android Gradle เวอร์ชันที่ไม่มีเมธอด (เช่น 'testCompile' ถูกเพิ่มใน 1.1.0) อัปเกรดปลั๊กอินเป็นเวอร์ชัน 3.4.0 และซิงค์โปรเจ็กต์ โครงการ 'jetpacklearn' อาจใช้ Gradle เวอร์ชันที่ไม่มีเมธอด เปิดไฟล์ Gradle wrapper gradleVersion ของฉันคือ '3.4.0' แต่ไม่สามารถจัดการกับมันได้โปรดถามคำถามเดียวกันกับฉัน classpath "com.android.tools.build:gradle:$gradleVersion" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion" classpath "androidx.navigation:navigation-safe-args-gradle-plugin:$navigationVersion"
99 android  gradle  kapt 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.