นำเข้า Android วอลเลย์ไปยัง Android Studio


88

ฉันต้องการใช้คลังวอลเลย์ของ Google

ฉันใช้ Android Studio และรู้วิธีเพิ่มไลบรารี. jar

แต่ฉันไม่สามารถสร้างไลบรารี. jar ด้วยไฟล์วอลเลย์:

https://android.googlesource.com/platform/frameworks/volley

นี่คือสิ่งที่ฉันทำ: (ใช้ windows เจ็ด)

git clone https://android.googlesource.com/platform/frameworks/volley
cd volley
android.bat update project -p . --target android-19
ant.jar jar

และฉันได้ผลลัพธ์:

เกิดข้อยกเว้นจาวา

เกิดอะไรขึ้น? ฉันจะเพิ่มไลบรารี not. jar ได้อย่างไร


หากคุณต้องการใช้วอลเลย์เป็นโมดูลการพึ่งพาแทนไฟล์ jar คุณสามารถไปที่ลิงค์
cmoaciopm


สอนวอลเลย์นำเข้า: gitsubmoduleasandroidtudiomodule.blogspot.in
Arpit Ratan

คำตอบ:


182

Volley พร้อมให้บริการอย่างเป็นทางการแล้วที่ JCenter :

เพิ่มบรรทัดนี้ในการอ้างอิงระดับชั้นประถมศึกษาของคุณสำหรับโมดูลแอปโครงการ Android ของคุณ:

implementation 'com.android.volley:volley:1.1.1'


2
@Shavik Gradle ไม่ซิงค์ในขณะที่เพิ่มสิ่งนี้ลงในไฟล์ build.gradle ฉันได้รับข้อผิดพลาดเช่น: ล้มเหลวในการแก้ไข: com.android.volley: วอลเลย์: 1.0.0
Sundeep Badhotiya

4
ฉันมีปัญหาที่คล้ายกันเช่น @SundeepBadhotiya มันแก้ไขได้โดยใส่คำสั่งคอมไพล์ที่กล่าวถึงใน build.gradle ของโมดูลไม่ใช่ไฟล์ gradle ของโครงการ
DBX12

ฉันควรใช้com.android.volley:volley:1.0.0หรือcom.mcxiaoke.volley:library-aar:1.0.0?
pb772

1
ฉันได้ลองแล้ว แต่ยังไม่ซิงค์มีบางอย่างหายไปหรือไม่?
Clive Makamara

1
เวอร์ชันล่าสุดคือ 1.1.0 และใน android studio 3 คุณควรใช้: การใช้งาน 'com.android.volley: volley: 1.1.0'
Meisam

53

Volley จึงได้รับการอัปเดตเป็นสไตล์การสร้างสตูดิโอของ Android ซึ่งทำให้การสร้างโถทำได้ยากขึ้น แต่วิธีที่แนะนำสำหรับ eclipse คือใช้เป็นโปรเจ็กต์ไลบรารีและใช้สำหรับ android studio เช่นกัน แต่เมื่อทำงานใน android studio เราเรียกสิ่งนี้ว่าโมดูล ดังนั้นนี่คือคำแนะนำเกี่ยวกับวิธีการที่ Google ต้องการให้เราทำ คำแนะนำเป็นไปตามบทช่วยสอนที่ดีนี้

  1. ก่อนอื่นให้รับวอลเลย์ล่าสุดด้วย git (git clone https://android.googlesource.com/platform/frameworks/volley )

  2. ในโครงการปัจจุบันของคุณ (Android สตูดิโอ) คลิก[File]-> ->[New][Import Module]

  3. ตอนนี้เลือกไดเร็กทอรีที่คุณดาวน์โหลด Volley ไป

  4. ตอนนี้ Android Studio อาจแนะนำให้คุณทำส่วนที่เหลือ แต่ทำตามคำแนะนำต่อเพื่อตรวจสอบว่าทุกอย่างทำงานถูกต้อง

  5. เปิด settings.gradle (ค้นหาในรูท) และเพิ่ม (หรือยืนยันว่ารวมอยู่ด้วย):

    include ':app', ':volley'

  6. ตอนนี้ไปที่ build.gradle ของคุณในโครงการของคุณและเพิ่มการอ้างอิง:

    compile project(":volley")

นั่นคือทั้งหมดที่มีให้ง่ายกว่าและง่ายกว่าการรวบรวม jar และปลอดภัยกว่าการใช้ขวดของบุคคลที่สามหรือการอัปโหลด maven


1
นี่คือสิ่งที่ช่วยแก้ปัญหาของฉัน อย่างไรก็ตามฉันทำให้ซับซ้อนโดยการย้ายโมดูลย่อยไปยังไดเร็กทอรีที่ฉันสร้างชื่อ "3rd_party" ฉันต้องเปลี่ยนข้อความข้างต้นเป็นinclude ':app', ':3rd_party:volley'และcompile project(":3rd_party:volley"). (การใช้โคลอนในการวาดภาพโฟลเดอร์ทำให้ฉันสะดุดในตอนแรกตอนแรกคิดว่ามันอาจจะหมายถึงเส้นทางสัมพัทธ์)
ahall

ขั้นตอนที่ 2 ควรเป็นไฟล์> ใหม่> นำเข้าโมดูล
The_Martian

@The_Martian ขอบคุณฉันอัปเดตเพื่อให้สอดคล้องกับการอัปเดตสตูดิโอ Android
Warpzit

19

การอัปเดตคำตอบของ Warpzit สำหรับ Android Studio 1.3.2 (ความแตกต่างเป็นตัวหนา )
(การอัปเดต: ดูเหมือนจะเหมือนกันสำหรับ Android 2.0)

  1. ก่อนอื่นรับวอลเลย์ล่าสุดด้วยคอมไพล์
  2. ในโปรเจ็กต์ปัจจุบันของคุณ (android studio) ให้คลิก [ ไฟล์] -> [ใหม่] -> [โมดูลใหม่]
  3. ตอนนี้เลือก [นำเข้าโครงการGradle ] คลิกถัดไป
  4. ตอนนี้เลือกไดเร็กทอรีที่คุณดาวน์โหลด Volley ไป
  5. ตอนนี้ Android Studio อาจแนะนำให้คุณทำส่วนที่เหลือ แต่ทำตามคำแนะนำต่อเพื่อตรวจสอบว่าทุกอย่างทำงานถูกต้อง
  6. เปิด settings.gradle (ค้นหาในรูท) และเพิ่ม (หรือยืนยันว่ารวมอยู่ด้วย):

    รวม ': app', ': volley'

  7. ตอนนี้ไปที่ build.gradle ของคุณในโครงการของคุณและเพิ่มการอ้างอิง:

    รวบรวมโปรเจ็กต์ (": วอลเลย์")


ดูเหมือนว่าจะนำเข้าโมดูลลงในแอปไม่ใช่รูทซึ่งจะทำให้ทุกอย่างติดขัด มีความคิดว่าทำไมถึงเป็นเช่นนั้น?
Cruncher

เลิกใช้แล้ว คำตอบนี้ใช้ไม่ได้อีกต่อไป แม้ว่าในทางเทคนิคจะ "ได้ผล" แต่คุณไม่ควรทำแบบนี้ในปี 2018+ ใช้คอมไพล์ 'com.android.volley: volley: <current version here> .0.0'
StarWind0

18

พวกที่ซับซ้อนเกินไป เพียงรวมไว้ในการพึ่งพาผู้เรียนของคุณ:

dependencies {
    ...
    compile 'com.mcxiaoke.volley:library:1.0.17'
}

17
ควรชี้ให้เห็นว่านี่ไม่ใช่ที่เก็บอย่างเป็นทางการ ด้วยเหตุนี้จึงมีความเป็นไปได้เสมอที่โค้ดที่เป็นอันตรายอาจรวมอยู่ในสิ่งนี้ คงไม่เกิดขึ้นใช่ไหม แต่ที่ดีที่สุดที่ควรทราบก็สามารถทำได้
Craig Russell

สำหรับผู้เริ่มต้นด้วย gradle นี่คือรายละเอียดเพิ่มเติม: blog.chrisblunt.com/android-getting-started-with-volley
BurninLeo

5
เลิกใช้แล้วโปรดทราบว่าโปรเจ็กต์นี้เลิกใช้แล้วและไม่ได้รับการดูแลอีกต่อไปโปรดใช้เวอร์ชันอย่างเป็นทางการจาก jCenter รวบรวม 'com.android.volley: volley: 1.0.0'
StarWind0

10

คำตอบเหล่านี้ส่วนใหญ่ล้าสมัย

ตอนนี้ Google มีวิธีง่ายๆในการนำเข้าแล้ว .. เราจะยังคงเห็นข้อมูลที่ล้าสมัยมากมายเนื่องจากไม่ได้สร้างโซลูชันนี้มาเป็นเวลา 2-3 ปีแล้ว

https://bintray.com/android/android-utils/com.android.volley.volley/view

สิ่งที่คุณต้องทำคือเพิ่มในงานสร้างของคุณระดับสิ่งต่อไปนี้:

compile 'com.android.volley:volley:1.0.0'

IE

apply plugin: 'com.android.application'

android {
    compileSdkVersion 25
    buildToolsVersion "24.0.0"
    defaultConfig {
        applicationId "com.example.foobar.ebay"
        minSdkVersion 23
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:25.1.0'
    compile 'com.android.volley:volley:1.0.0'
    testCompile 'junit:junit:4.12'
}


3

หลังจากใส่compile 'com.android.volley:volley:1.0.0'ลงในไฟล์ build.gradle (Module) ของคุณภายใต้การอ้างอิงมันจะไม่ทำงานทันทีคุณจะต้องรีสตาร์ท Android Studio ก่อน!


ฉันประสบปัญหานี้และการรีสตาร์ทได้ผลสำหรับฉัน อย่างไรก็ตามต้องมีวิธีที่ดีกว่านี้!
Nikhil Gupta

สิ่งที่คุณต้องทำคือรีเฟรชการอ้างอิงของคุณ การรีสตาร์ทอาจเป็นการเริ่มต้นสำหรับคุณ มีแบนเนอร์ที่ด้านบนของหน้าจอปรากฏขึ้นเพื่อขอให้คุณรีเฟรช ยากที่จะพลาด เพียงกดครั้งต่อไป
StarWind0

ไม่น่าเชื่อการรีสตาร์ทสตูดิโอ Android ช่วยแก้ไขช่วงบ่ายของเราในการพยายามแก้ไข :(
ลุค




0

ในการเพิ่มวอลเลย์เป็นโมดูลย่อยและรับการอัปเดตอย่างสม่ำเสมอจาก GIT repo สามารถทำตามขั้นตอนต่อไปนี้ ข้อได้เปรียบหลักคือ Volley สามารถปรับแต่งได้และสามารถดึงซอร์สโค้ดจาก GIT repo ได้ทุกเมื่อที่จำเป็นต้องมีการอัปเดต

นอกจากนี้ยังช่วยในการแก้ไขจุดบกพร่อง

ทำตามขั้นตอนด้านล่าง:

ขั้นตอนที่ 1:

เพิ่มวอลเลย์เป็นโมดูลย่อยในโครงการแอปพลิเคชัน Android GIT Repo git submodule add -b master https://android.googlesource.com/platform/frameworks/volley Libraries / Volley

ขั้นตอนที่ II:

ใน settings.gradle ให้เพิ่มสิ่งต่อไปนี้เพื่อเพิ่มวอลเลย์เป็นโมดูลโครงการสตูดิโอ รวมโครงการ ': Volley' (': Volley'). projectDir = ไฟล์ใหม่ ('../ Libraries / Volley')

ขั้นตอนที่ 3:

ใน app / build.gradle ให้เพิ่มบรรทัดต่อไปนี้เพื่อรวบรวม Volley compile project (': Volley')

นั่นจะทั้งหมด! เพิ่มวอลเลย์ในโครงการสำเร็จแล้ว

ทุกครั้งที่คุณต้องการรับรหัสล่าสุดจาก repo ของ Google อย่างเป็นทางการของ Volley เพียงเรียกใช้คำสั่งด้านล่าง

git submodule foreach git pull

สำหรับข้อมูลเพิ่มเติม: https://gitsubmoduleasandroidtudiomodule.blogspot.in/

โค้ดตัวอย่าง GIT Repo: https://github.com/arpitratan/AndroidGitSubmoduleAsModule


0

บรรทัด "compile project (': volley')" ทำให้ฉันเกิดข้อผิดพลาดนี้:

ข้อผิดพลาด: การดำเนินการล้มเหลวสำหรับงาน ': volley: processDebugResources' > com.android.ide.common.process.ProcessException: เรียกใช้ aapt ไม่สำเร็จ

สาเหตุเกิดจากขณะนี้รุ่น compileSdk และ buildTools ของโมดูลวอลเลย์อยู่ที่ "22" และ "22.0.1" และฉันกำลังทำงานกับโครงการใหม่กว่า ("24" และ "24.0.1")

วิธีการแก้:

เปิดไฟล์ build.gradle (Module: volley) และเปลี่ยนเวอร์ชันของ "compileSdk" และ "buildTools" เช่นฉันเปลี่ยนสิ่งนี้:

android {
    compileSdkVersion 22
    buildToolsVersion = '22.0.1'
}

สำหรับสิ่งนี้:

android {
    compileSdkVersion 24
    buildToolsVersion = '24.0.1'
}

คุณไม่ควรมีข้อผิดพลาดนี้อีกต่อไปฉันหวังว่าจะช่วยได้ :)


0

หรือคุณสามารถทำได้

ant jar

ในโครงการคอมไพล์วอลเล่ย์โคลนของคุณ ตอนนี้คุณควรเห็นvolley.jarในbinโฟลเดอร์โครงการวอลเลย์ คัดลอกไปที่app\libsโฟลเดอร์ของ Android Studio จากนั้นเพิ่มสิ่งต่อไปนี้ในdependenciesส่วนของbuild.gradleไฟล์ระดับโมดูล-

compile files('libs/volley.jar')

และคุณควรนำเข้าและใช้คลาสไลบรารีในโครงการของคุณได้ดี


0

มันยังมีอยู่ในที่เก็บmavenCentral()...

dependencies {
    // https://mvnrepository.com/artifact/com.android.volley/volley
    api "com.android.volley:volley:1.1.0'
}

0

สองสิ่ง

หนึ่ง: คอมไพล์ล้าสมัย แต่จะดีกว่าถ้าใช้การนำไปใช้งาน

และสอง: วอลเลย์ 1.0.0 ล้าสมัยและการซิงค์โปรเจ็กต์จะไม่ทำงาน

หรือใน build.gradle เพิ่มการใช้งาน 'com.android.volley: วอลเลย์: 1.1.1' หรือการใช้งาน 'com.android.volley: volley: 1.1. +' สำหรับ 1.1.0 และเวอร์ชันที่ใหม่กว่า



-1

ขั้นตอนที่ 1: - ดาวน์โหลดไฟล์ volley.jar

ขั้นตอนที่ 2: - ไปที่โปรเจ็กต์ของคุณและตั้งค่าเมนูที่แสดงจาก Android เป็นโปรเจ็กต์จากนั้นไปที่

app -> libs-> paste your volley.jar ไฟล์ที่นี่

ขั้นตอนที่ 3: - คลิกขวาที่ไฟล์ volley.jar และคลิกที่ "add as library" และทุกอย่างเสร็จสิ้น

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