ข้อผิดพลาด: การดำเนินการล้มเหลวสำหรับงาน ': แอป: สะอาด' ไม่สามารถลบไฟล์ได้


166

ฉันกำลังพยายามสร้างโครงการ Android Studio Gradle ของฉันใหม่ (ที่มีรหัส Kotlin ส่วนใหญ่) แต่มันก็เริ่มโยนUnableToDeleteFileExceptionระหว่างกระบวนการทำความสะอาด / สร้างใหม่:

Execution failed for task ':app:clean'.
> Unable to delete file: C:\Users\User\KotlinGameEngine\app\build\intermediates\exploded-aar\com.android.support\appcompat-v7\23.0.1\jars\classes.jar

สิ่งนี้เริ่มต้นขึ้นหลังจากที่ฉันพยายามเปลี่ยนโครงสร้างแพ็คเกจของโครงการ น่าเสียดายที่ฉันทำได้โดยเปลี่ยนชื่อและย้ายโฟลเดอร์ซอร์สแทนที่จะทำการเปลี่ยนใหม่ผ่าน Android Studio ซึ่งเป็นแนวคิดที่ไม่ดี

ฉันค้นหาวิธีแก้ไขปัญหานี้ตลอดทั้งวันและสิ่งเหล่านี้เป็นสิ่งที่ฉันพยายามทำเพื่อประโยชน์:

  • ทำการซิงค์แบบ Gradle
  • การติดตั้ง Java JRE และ Java SDK อีกครั้ง
  • การติดตั้ง Android Studio เวอร์ชันล่าสุดอีกครั้ง (1.4);
  • ย้อนกลับไปเป็นเวอร์ชั่น AS ก่อนหน้า (1.3);
  • การทำให้แคช AS เป็นโมฆะและเริ่มต้นใหม่;
  • การลบgradleและ.gradleไดเรกทอรีในไดเรกทอรีโครงการ
  • การลบ.gradleไดเรกทอรีในไดเรกทอรีผู้ใช้ของฉัน;
  • ทำงานgradlew cleanจากเทอร์มินัล AS
  • คัดลอกแหล่งที่มาด้วยตนเองไปยังโครงการใหม่ (แปลกที่มันยังคงมีอยู่ในโครงการ ... )

สิ่งที่ฉันได้ลองด้วยความสำเร็จเล็ก ๆ น้อย ๆ แต่ให้ฉันทำความสะอาดอีกครั้งและสร้างใหม่ก่อนที่ข้อผิดพลาดจะเกิดขึ้นอีกครั้ง:

  • ปิด AS ลบไฟล์บิลด์ด้วยตนเองและเปิดอีกครั้ง
  • ฆ่าjava.exeกระบวนการในขณะที่ทำงานอยู่ (ซึ่งสามารถทำได้ในทางเทคนิคทุกครั้ง แต่มันน่าเบื่อและทำให้กระบวนการสร้างช้าลง)

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

ปรับปรุง:

ฉันพบว่าปัญหากำลังเกิดขึ้นจากปลั๊กอิน Kotlin Android ปัญหาหายไปเมื่อฉันลบออกapply plugin: 'kotlin-android'จากbuild.gradleไฟล์ของโมดูลและกลับมาเมื่อฉันแทรกมันอีกครั้ง อย่าลังเลที่จะนำเสนอข้อมูลเชิงลึกเกี่ยวกับเรื่องนี้

อัปเดต 2:

การปรับปรุงครั้งล่าสุดไม่ใช่สาเหตุ ฉันพบว่าหากโครงการมีไฟล์ Kotlin การสร้างใหม่และการทำความสะอาดล้มเหลว มันยังคงล้มเหลวแม้ว่าไฟล์ Kotlin ทั้งหมดจะถูกลบออกจนกว่ากระบวนการ Java พื้นหลังจะถูกฆ่าซึ่งหมายความว่ามันมีการล็อคบางอย่างในไฟล์บิลด์ ฉันส่งข้อบกพร่องที่นี่พร้อมรายละเอียดเพิ่มเติมและขั้นตอนในการสร้างข้อผิดพลาด: KT-9440


3
ทำให้โมฆะแคชและรีสตาร์ท Studio จากเมนูไฟล์
Mohammad Tauqir

ฉันได้ลองแล้ว แต่ฉันลองอีกครั้งในกรณี ยังไม่มีโชคแม้ว่า
ไบรโอนี

ปัญหาแบบนี้มักเกิดขึ้นกับฉัน ถ้าตัวเลือกแรกใช้งานไม่ได้ให้ออกจากระบบจากนั้นเริ่ม studio หลังจากเข้าสู่ระบบ
Mohammad Tauqir

2
รีสตาร์ทพีซีของฉันและปัญหายังคงมีอยู่ ขอบคุณสำหรับความช่วยเหลือของคุณ
Bryony

คำตอบ:


123

หากคุณใช้ Android Studio 2.0 Beta ปัญหานี้อาจปรากฏขึ้น (มีโอกาสมากขึ้นถ้าคุณกำลังทำงานกับระบบไฟล์ NTFS) และดูเหมือนว่า "การเรียกใช้ทันที" นั้นเป็นตัวการ ค้นหา "Run ทันที" ในการตั้งค่าและยกเลิกการทำเครื่องหมายที่ช่อง

ฉันได้ยื่นปัญหาในตัวติดตามบั๊กแล้ว


ฉันใช้ sshfs ปัญหาเดียวกันที่นี่ การปิดใช้งานการเรียกใช้ทันทีทำงานได้สำหรับฉัน
เพลง

2
ใช่การปิดใช้งาน RUN Studio 2.0 เบต้า 7 ได้แก้ไขข้อยกเว้นนี้แล้ว
Yogesh Seralia

1
Android Studio 2.0 ของฉันติดค้างที่รีเฟรชโปรเจคหนึ่ง ๆ ฉันลองทุกอย่างและทำตามคำตอบนี้โดยไม่ตั้งใจ & แก้ไขโดยปัญหาซึ่งแตกต่างจากคำถามฉันติดอยู่นานมาก ฉันหวังว่าฉันจะสามารถโหวตคุณอีกครั้ง! ขอบคุณ
Rachita Nanda

9
สิ่งนี้ใช้ได้สำหรับฉัน ในกรณีที่ช่วยเหลือใครบางคน: การปิดใช้งานการเรียกใช้ทันทีในรุ่น 2.1 ของ Android Studio คือไฟล์ -> การตั้งค่า -> การสร้างการดำเนินการการปรับใช้ -> การเรียกใช้ทันทีและยกเลิกการทำเครื่องหมายในช่องแรก
nickandross

1
ฉันใช้ AS v2.1.3 ในกรณีของฉันกล่อง "เรียกใช้ทันที" ไม่ได้ถูกตรวจสอบแล้วดังนั้นฉันจึงตรวจสอบใช้ทำความสะอาดและสร้างโครงการใหม่ (ข้อผิดพลาดยังคงอยู่ที่นั่น) และไม่ได้ตรวจสอบมันนำไปใช้ใช้ล้าง & สร้างโครงการใหม่และข้อผิดพลาด ไปแล้ว
jose

114

ฉันฆ่ากระบวนการ Java TM ทั้งหมดในตัวจัดการงานและให้ฉันสร้างใหม่


29
+1 กระบวนการ Zombie Java เป็นปัญหา หากคุณใช้ Win 10 ให้เปิด Task Manager มองหาไบนารีของ Java (TM) แพลตฟอร์ม SE; งานสิ้นสุด.
นักศึกษา Noob บางคน

26
คุณสามารถใช้gradle --stopเพื่อหยุด daemons ที่ติดอยู่เป็นทางเลือก
Jayson Minard

1
มีวิธีอัตโนมัติในการฆ่ากระบวนการหรือไม่ ฉันเสียเวลามากในการทำความสะอาดทุกครั้ง
AvatarQing

ในกรณีของฉันมี Meld เปิด (เครื่องมือเปรียบเทียบและผสาน) ที่ล็อคโฟลเดอร์เพื่อทำความสะอาดคือ
Armando

ในกรณีของฉันฉันไม่พบ Java TM ดังนั้นฉันรีสตาร์ท windows
Dasser Basyouni

41

ลองใช้ไฟล์ -> ทำให้แคชใช้ไม่ได้และรีสตาร์ท

สิ่งนี้ใช้ได้สำหรับฉัน


"ทำให้แคชและรีสตาร์ทไม่ถูกต้อง" ทำให้สตูดิโอ Android ติดอยู่ในพีซี Window 8 ฉันใช้ Android studio 2.2.2 ฉันสามารถใช้คุณสมบัตินี้ได้เลย ใครมีทางออกที่เหมาะสมสำหรับสิ่งนี้
Nithinjith

ไฟล์ -> ทำให้แคชใช้ไม่ได้และรีสตาร์ททำงานได้ แต่ใช้เวลาไม่นาน ปัญหาพื้นฐานของการทำงานผิดปกติของสิทธิ์การใช้งานไฟล์ Win10 มาถึงอีกครั้งสำหรับฉันที่อัปเดตเป็น SDK 27 (ฉันยอมรับข้อความอัปเดต) และหลังจากอัปเดต AS เดียวกันส่งเสียงร้องสำหรับ NDK 15 แต่มีเพียง NDK14 เท่านั้นให้ตั้งค่า build gradle คอมไพล์ SDK เป็น 26 และไม่ต้องร้องไห้ ดูเหมือนว่าเราอยู่ระหว่างสองชั่วอายุคนที่นี่ ?? ใน Win10 x64 ยังมีปัญหากับอีมูเลเตอร์ที่จำเป็นต้องใช้ข้อมูลในการลบข้อมูลเพื่อนำมาใช้ซ้ำ เสียงเหมือนมีรายละเอียดมากมายที่จะแก้ไขใช่ไหม
Jan Bergström

30

หลังจากที่ฉันโพสต์รายงานข้อผิดพลาดไปยังตัวติดตามบั๊ก Kotlin ฉันได้รับแจ้งเรื่องIssue 61300บนตัวติดตาม AOSP นั่นน่าจะเป็นสาเหตุ เนื่องจากไม่มีสิ่งใดที่ฉันสามารถทำได้ในขณะนี้ฉันจะทำเครื่องหมายคำถามนี้เป็นคำตอบและฉันจะอัปเดตคำตอบหากข้อผิดพลาดได้รับการแก้ไข

ในระหว่างนี้หากคุณใช้ Windows ฉันเชื่อว่าฉันพบวิธีแก้ปัญหา คุณจะต้องดาวน์โหลดLockHunter (คุณต้องยอมรับความเสี่ยงเอง) จากนั้นเพิ่มไฟล์ต่อไปนี้ลงในโมดูลของคุณgradle.buildแทนที่lockhunterตัวแปรด้วยพา ธ ของคุณไปที่ LockHunter.exe:

task clean(type: Exec) {
    ext.lockhunter = '\"C:\\LockHunter.exe\"'
    def buildDir = file(new File("build"))
    commandLine 'cmd', "$lockhunter", '/delete', '/silent', buildDir
}

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


ฉันแก้ไขปัญหาสะอาดด้วยสิ่งนี้แล้ว แต่ไม่สามารถทำเช่นเดียวกันกับการเรียกใช้แอป ยังคงได้รับข้อผิดพลาดเดียวกัน มีความคิดใด ๆ อาจเปลี่ยนความสะอาดด้วยอย่างอื่นใช่ไหม
จักรราศี

ข้อผิดพลาด: (21, 0) ไม่อนุญาตให้ประกาศงาน 'clean' แบบกำหนดเองเมื่อใช้ปลั๊กอิน Lifecycle Lifecycle มาตรฐาน
Shashwat Gupta

26

ล้างโครงการจากเทอร์มินัลโดยใช้คำสั่งgradlew cleanนี้

ป้อนคำอธิบายรูปภาพที่นี่


2
การพิมพ์คำสั่งด้านบนเริ่มการดาวน์โหลดแกะและติดตั้งซึ่งใช้เวลาพอสมควร หลังจากนั้นวิธีนี้ใช้ได้ผลสำหรับฉัน
Dale

การดำเนินการนี้ใช้เวลา 11 นาที แต่ดูเหมือนว่าจะทำงานได้ดีการเย็บร้อยในเวลาช่วยประหยัดเก้าคนได้ นี่ควรเป็นคำตอบที่ยอมรับได้
mwieczorek

ฉันอยู่บน Ubuntu ฉันวิ่ง gradlew สะอาดตามคำแนะนำข้างต้น แต่ไม่ได้ทำงาน .. :(. คำสั่งไม่พบ
Abhijit Gujar

1
@AbhijitGujar คุณควรลอง./gradlew cleanใช้ Ubuntu แทน (มันจะเรียกใช้gradlewไฟล์ปฏิบัติการได้จากไดเรกทอรีโครงการ)
TerraPass

7
./gradlew cleanไม่ได้แก้ปัญหานี้ให้ฉัน มันแสดงให้เห็นข้อผิดพลาดเดียวกันอีกครั้งคือ "ไม่สามารถลบไดเรกทอรี"
abggcv

12

การลบไดเรกทอรีintermediatesเป็นการแก้ไขปัญหาอย่างรวดเร็ว

ไดเรกทอรีจะถูกสร้างใหม่เมื่อโครงการถูกสร้างใหม่


1
ฉันพยายามลบไดเรกทอรี intermediates แต่ Windows บอกฉันว่าฉันไม่สามารถลบไดเรกทอรี แปลก.
tronman

มันทำงานให้ฉันในหนึ่งในโครงการ แต่ไม่ได้อยู่ในอีก :(
abggcv

7

ฉันพบปัญหาเดียวกันกับ Android Studio 2.2 ดูตัวอย่าง 1 วิธีแก้ปัญหาโดย @AndresSuarez ถูกต้อง แต่ด้วยเหตุผลบางอย่างฉันไม่พบกระบวนการ JAVA TM ในตัวจัดการงานของฉัน ดังนั้นฉันจึงลองวิธีต่อไปนี้และใช้งานได้ -

เปิดพร้อมรับคำสั่งTASKKILL /F /IM java.exeและประเภท นี่จะฆ่ากระบวนการ JAVA TM ทั้งหมดโดยอัตโนมัติ ตอนนี้ให้รวบรวมแอพอีกครั้งมันจะทำงาน

นอกจากนี้คุณสามารถสร้างไฟล์. batเพิ่มรหัสข้างต้นในนั้นและเรียกใช้มันทุกครั้งที่คุณประสบปัญหา


5

ฉันมีปัญหานี้ใน Android Studio 2.3

ฉันเพิ่งรีสตาร์ท Android Studio และหลังจากนั้นฉันสามารถทำความสะอาดได้โดยไม่ต้องร้องเรียน


5

สำหรับผมเรื่องนี้เกิดขึ้นเนื่องจากมีขั้นตอนการใช้งานการแก้จุดบกพร่อง ดังนั้นก่อนที่จะทำความสะอาดหรือสร้างใหม่ให้แน่ใจว่าได้ฆ่ากระบวนการที่ใช้งานอยู่ทั้งหมด เล็บลงความสำเร็จรันโมฆะแคช / รีสตาร์ท


4

ฉันมีปัญหาเดียวกันและสิ่งนี้ใช้ได้กับฉัน:

  1. ปิด Android Studio
  2. ลบไดเรกทอรีตัวกลาง (ตราบใดที่เปิด Android Studio ไม่สามารถลบไดเรกทอรีนี้ได้)
  3. เปิด Android Studio อีกครั้ง


3

ฉันแก้ไขอันนี้ในอูบุนตูของฉันแบบนี้

  1. ตรวจสอบกระบวนการที่ทำงานในระบบของคุณ (Ubuntu) เช่นเดียวกับในตัวจัดการงานใน windows

    คำสั่งเทอร์มินัล Ubuntu เพื่อแสดงรายการกระบวนการทั้งหมดที่ทำงานอยู่ ----> "gnome-system-monitor"

  2. ยุติหรือสิ้นสุดกระบวนการ JAVA และ ANDROID ในรายการ

  3. เริ่มโครงการสตูดิโอและนำเข้าอีกครั้ง

มันใช้ได้สำหรับฉันโดยไม่มีปัญหาใด ๆ หวังว่านี่จะช่วย ...

ฉันคิดว่านี่เป็นปัญหาของกระบวนการที่สร้างขึ้นและทำซ้ำแล้ว


3

สำหรับฉันมันช่วยเมื่อฉันExit Android Studioคลิกอีกครั้งClean Project(มันปรากฏข้อผิดพลาดเดียวกัน) และคลิกถัดไปMake Project- หลังจากRun 'app'ปุ่มแน่นอนใน Android Studio


3

ค้นหาโปรแกรมที่ใช้โฟลเดอร์app / build / outputs / apkจากนั้นลบโฟลเดอร์

ฉันคิดว่า Android Studio ต้องลบโฟลเดอร์ apk เก่าก่อนสร้างใหม่


3

บางครั้งตัวกลางจะสร้างปัญหาดังนั้นให้ลบและสร้างโครงการใหม่

หรือ

เพียงแค่เรียกใช้คำสั่ง cmd -> gradlew สะอาด

ในโฟลเดอร์โครงการของคุณในพื้นที่ทำงาน (เหมาะสำหรับฉัน)


2

การแก้ปัญหาค่อนข้างง่าย

นี่เป็นหนึ่งในวิธีแก้ปัญหาที่เหมาะกับฉัน

อาจเป็นไปได้ว่า เปิดโฟลเดอร์แอป / บิลด์ / เอาท์พุท / apkของโครงการ

ดังนั้นให้ปิดโฟลเดอร์นี้และสร้างโครงการของคุณใหม่ และมันจะถูกแก้ไข


ใช่ฉันมีปัญหานี้มีไฟล์รายงานที่ถูกบันทึกไว้ใน build / report / checkstyle.html การปิดไฟล์นี้แก้ไขปัญหาของฉันขอบคุณ
tamtom

2

ตามที่แนะนำในรายงานบั๊กให้ยกเลิกการใส่เครื่องหมายบรรทัด

idea.jars.nocopy=false

ในidea.propertiesไฟล์ได้แก้ปัญหาให้ฉันแล้ว

โปรดทราบว่าต้องดำเนินการทุกครั้งที่มีการอัปเดต Android Studio


2

สำหรับฉันแล้วผู้ร้ายคือadb ที่ถือไฟล์ apk ตั้งแต่ฉันใช้มันเพื่อติดตั้งและเริ่มต้นแอปพลิเคชันบนอุปกรณ์ทางกายภาพของฉันผ่านทางบรรทัดคำสั่ง

ดังนั้นเพียง:

ตัวจัดการงาน> สิ้นสุดกระบวนการadb.exe

จากนั้นไฟล์มีอิสระที่จะลบและโครงการอาจถูกล้าง


2

ตอบสนอง devs ดั้งเดิม

วิ่ง

sudo cd android && ./gradlew clean

และถ้าคุณต้องการปล่อย apk

sudo cd android && ./gradlew assembleRelease

หวังว่ามันจะช่วยใครซักคน


1

หากคุณกำลังทดสอบกับแบ็กเอนด์ในเครื่อง (servlet java บนเอ็นจิ้น google app ในเครื่อง) กระบวนการที่กำลังรันจะบล็อกไฟล์บางไฟล์ ดังนั้นคุณจึงไม่สามารถปรับใช้งานได้ ดังนั้นในกรณีนี้คุณสามารถแก้ปัญหานี้ได้โดยการหยุดแบ็กเอนด์ท้องถิ่นก่อนที่จะเริ่มทำความสะอาดหรือสร้าง คุณพบตัวเลือกภายใต้ "Run -> Stop backend"


1

ใน Android Studio 3.0 ฉันมีปัญหาเดียวกัน มันคงที่:

  1. ปิดสตูดิโอ
  2. ลบ projectRoot / build / และ projectRoot / app / build /
  3. รีสตาร์ท Studio

1

ฉันมีปัญหาเดียวกันหลังจากย้ายโครงการจากไดรฟ์ D: G: แต่การตรวจสอบดิสก์แก้ไขปัญหาของฉันได้

ฉันใช้chkdsk / f / r / x G: ** ที่นี่มีการใช้สวิตช์บรรทัดคำสั่งบางส่วน: **

/ F แก้ไขข้อผิดพลาดบนดิสก์

/ R ค้นหาเซกเตอร์ที่ไม่ดีและกู้คืนข้อมูลที่อ่านได้ (นัย / F)

/ X บังคับให้ระดับเสียงลงจากหลังก่อนถ้าจำเป็น (นัย / F) (สำคัญ)

หมายเหตุ: / X มีความสำคัญเนื่องจากมันจะลงจากไดรฟ์และคุณสามารถลบไดเรกทอรีสร้างของโครงการของคุณได้ด้วยตนเอง

ตอนนี้สร้างโครงการใหม่


สิ่งนี้ใช้ได้ผล ขอบคุณ! :) แต่ใช้เวลาเกือบ 5 ชั่วโมง เวลาให้เสร็จสมบูรณ์
Rohit Sharma

1

ฉันเพิ่งแก้ไขปัญหาที่แน่นอนนี้ให้กับตัวเอง

ปัญหาคือมีคนอื่นสร้างไฟล์ขึ้นมาแม้ว่าฉันจะมีสิทธิ์ของผู้ดูแลระบบในคอมพิวเตอร์ แต่ฉันไม่สามารถเปลี่ยนแปลงไฟล์หรือไฟล์ได้ คุณต้องเข้าสู่คุณสมบัติของไฟล์หรือโฟลเดอร์และเปลี่ยนความเป็นเจ้าของหรือเพิ่มความเป็นเจ้าของ หน้าเว็บนี้ อธิบายได้เป็นอย่างดีทีละขั้นตอนสิ่งที่คุณต้องทำ

เมื่อฉันทำข้างต้นฉันพบไฟล์ใน file explorer และแตกไฟล์เอง ฉันไม่คิดว่ามันจำเป็นในโครงการ android studio ถ้ามันพยายามลบมันอยู่ดี


1

แอปพลิเคชั่นอื่นที่สามารถใช้ทรัพยากรได้คือ Kotlin REPL ของ Android Studio ฉันปิดมันแล้วฉันจะสร้างได้อีกไม่มีปัญหา



0

ปัญหานี้ปรากฏขึ้นกับฉันใน android studio 2.0 channel ที่เสถียรและวิธีแก้ปัญหาเกิดจากปัญหาที่เกิดขึ้นในขณะที่อัปเดต android studio ของฉันฉันแก้ไขได้โดยติดตั้ง android studio สด หลังจากลบไฟล์เก่าทั้งหมดสำหรับการติดตั้งเก่า และเพื่อรักษาฟีเจอร์ที่ยอดเยี่ยมของ Instant Run


0

หากคุณยังคงมีปัญหาอยู่ให้อัปเดต Android Studio เวอร์ชันล่าสุด (ตอนนี้เป็น 2.1) แล้วอาจเป็นข้อผิดพลาดของ Android Studio รุ่นเก่ากว่า แก้ไขแล้วสำหรับฉันตอนนี้


เกิดขึ้นใน 2.2 ดูตัวอย่าง 1 สำหรับฉันดังนั้นฉันไม่คิดว่าจะได้รับการแก้ไข
Rohan Kandwal

0

การทำความสะอาดโครงการในสตูดิโอ Android และทำงานอีกครั้งได้แก้ไขปัญหา อาจจะทำ "ทำโครงการ" เช่นกัน


0

ฉันมีปัญหาเดียวกันและฉันแก้ไขมันโดยการย้ายโฟลเดอร์โครงการไปยังพาร์ติชัน ext4


ใช่ฉันอ่านที่อื่นว่าระบบ Android Studio / gradle / React Native / packager / watchman มีปัญหา (ด้วยเหตุผลบางอย่าง) ในระบบไฟล์ NTFS
Venryx

0

ฉันมีข้อผิดพลาดเดียวกันลองหลายวิธี แต่วิธีแก้ปัญหาสำหรับฉันก็คือการลบโฟลเดอร์บิลด์จาก / android และ / android / app

ทำงานreact-native run-androidทำงานให้ฉัน

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