ไม่พบตัวแปรสภาพแวดล้อม "ANDROID_HOME"


131

ฉันพยายามสร้างโครงการไอออนิก - แอนดรอยด์และฉันติดตั้ง android sdk แล้ว

ตัวจัดการ SDK ติดตั้งแพ็คเกจ

ชื่อโครงการของฉันคือ myApp ฉันเพิ่มแพลตฟอร์ม Android ไปยัง myApp เรียบร้อยแล้ว แต่เมื่อฉันพยายามสร้างโครงการ

~/myApp$ sudo ionic build android

ผลลัพธ์คือ

Running command: /home/hari/myApp/hooks/after_prepare/010_add_platform_class.js /home/hari/myApp
  add to body class: platform-android
  ERROR building one of the platforms: Failed to find 'ANDROID_HOME'  environment variable. Try setting setting it manually.
  Failed to find 'android' command in your 'PATH'. Try update your 'PATH' to include path to valid SDK directory.
You may not have the required environment or OS to build this project
Error: Failed to find 'ANDROID_HOME' environment variable. Try setting setting it manually.
Failed to find 'android' command in your 'PATH'. Try update your 'PATH' to include path to valid SDK directory.

ดูตัวแปร ANDROID_HOME และ PATH

echo $ANDROID_HOME
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/hari/Android/Sdk

echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/hari/Android/Sdk/tools:/home/hari/Android/Sdk/platform-tools:/usr/local/bin:/opt/gradle/bin

ฉันเคยเห็นคำถามประเภทเดียวกันเกือบทั้งหมดเกี่ยวกับสแต็กล้น แต่ไม่มีอะไรที่เหมาะกับฉัน มีอะไรผิดปกติกับการกำหนดค่า android-sdk ของฉันหรือไม่? ฉันจะสร้างโครงการนี้ได้อย่างไร


2
ANDROID_HOME ของคุณดูเหมือนเส้นทางมากกว่า เมื่อคุณสะท้อนมันควรจะกลับมาเท่านั้น/home/hari/Android/Sdk(สมมติว่าถูกต้อง)
OneCricketeer

ดูคำตอบของฉันใน [คำถามนี้] ( stackoverflow.com/questions/35110403/… ) มันจะแก้ไขให้คุณ
Ramy hakam

ฉันต้องป้อนข้อมูลนี้ทุกครั้งที่เปิดเครื่องฉันจะคงอยู่ได้อย่างไร
Luke Flournoy

@LukeFlournoy ดู "Priori Things" (ขั้นตอนที่ 1 และ 2) ของคำตอบนี้
Diego Somar

คำตอบ:


200

คุณอาจต้องการยืนยันว่าสภาพแวดล้อมการพัฒนาของคุณได้รับการตั้งค่าอย่างถูกต้อง

อ้างจากspring.io :

ตั้งค่าสภาพแวดล้อมการพัฒนา Android

ก่อนที่คุณจะสร้างแอปพลิเคชัน Android คุณต้องติดตั้ง Android SDK การติดตั้ง Android SDK ยังติดตั้ง AVD Manager ซึ่งเป็นอินเทอร์เฟซผู้ใช้แบบกราฟิกสำหรับการสร้างและจัดการ Android Virtual Devices (AVDs)

  1. จากเว็บไซต์ Androidให้ดาวน์โหลด Android SDK เวอร์ชันที่ถูกต้องสำหรับระบบปฏิบัติการของคุณ

  2. แตกไฟล์ที่เก็บถาวรไปยังตำแหน่งที่คุณเลือก ตัวอย่างเช่นบน Linux หรือ Mac คุณสามารถวางไว้ในรูทของไดเรกทอรีผู้ใช้ของคุณ ดู เว็บไซต์นักพัฒนา Androidสำหรับรายละเอียดการติดตั้งเพิ่มเติม

  3. กำหนดค่าANDROID_HOMEตัวแปรสภาพแวดล้อมตามตำแหน่งของ Android SDK นอกจากนี้ให้พิจารณาเพิ่ม ANDROID_HOME/toolsและANDROID_HOME/platform-toolsในเส้นทางของคุณ

Mac OS X

export ANDROID_HOME=/<installation location>/android-sdk-macosx
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

ลินุกซ์

export ANDROID_HOME=/<installation location>/android-sdk-linux
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

ของ windows

set ANDROID_HOME=C:\<installation location>\android-sdk-windows
set PATH=%PATH%;%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools

การดาวน์โหลด Android SDK ไม่รวมถึงแพลตฟอร์ม Android ที่เฉพาะเจาะจง ในการรันโค้ดในคู่มือนี้คุณต้องดาวน์โหลดและติดตั้งแพลตฟอร์ม SDK ล่าสุด คุณทำได้โดยใช้ Android SDK และ AVD Manager ที่คุณติดตั้งในส่วนก่อนหน้านี้

  1. เปิดหน้าต่างAndroid SDK Manager :

    android

    หมายเหตุ:หากคำสั่งนี้ไม่เปิดตัวจัดการ Android SDK แสดงว่าเส้นทางของคุณไม่ได้กำหนดค่าอย่างถูกต้อง

  2. เลือกกล่องกาเครื่องหมายเครื่องมือ

  3. เลือกช่องทำเครื่องหมายสำหรับSDK ล่าสุด Android

  4. จากบริการพิเศษโฟลเดอร์เลือกช่องทำเครื่องหมายสำหรับห้องสมุดสนับสนุน Android

  5. คลิกปุ่มติดตั้งแพ็คเกจ ...เพื่อทำการดาวน์โหลดและติดตั้งให้เสร็จสมบูรณ์

    หมายเหตุ:คุณอาจต้องการติดตั้งการอัปเดตทั้งหมดที่มี แต่โปรดทราบว่าจะใช้เวลานานกว่านี้เนื่องจากแต่ละระดับ API เป็นการดาวน์โหลดขนาดใหญ่


1
ในหมายเลข 3 (กำหนดค่าตัวแปร ANRDOID_HOME): ไฟล์นี้ควรเป็นไฟล์ใด
suMi

@suMi คุณเรียกใช้คำสั่งส่งออกจากเทอร์มินัลของคุณตามระบบปฏิบัติการของคุณและเปลี่ยนเส้นทางที่คุณตั้งANDROID_HOMEค่าให้เท่ากับตามตำแหน่งที่คุณบันทึก SDK ดูstackoverflow.com/questions/19986214/…สำหรับรายละเอียดเพิ่มเติม
Brad W

@suMI หากคุณต้องการให้การเปลี่ยนแปลงถาวรให้เพิ่มบรรทัดเหล่านั้นใน. bashrc ของคุณหากคุณใช้ linux หรือ mac
brt

หากใครพบปัญหานี้จาก teamcity คุณต้องสร้างพารามิเตอร์ env บน teamcity สำหรับ ANDROID_HOME
lawphotog

ว่าคืออะไร/android-sdk-linux, toolsและplatform-tools? ฉันไม่เห็นไดเรกทอรีดังกล่าวใน/opt/android-studioไฟล์. android Studio ของฉันกำลังทำงาน แต่ฉันไม่มีไดเรกทอรีเหล่านั้น
Dzintars

38

ใน Linux

ก่อนอื่นตั้ง ANDROID_HOME ในไฟล์. bashrc

เรียกใช้คำสั่ง

sudo gedit ~/.bashrc

ตั้งค่าเส้นทาง andoid sdk ที่คุณติดตั้ง

export ANDROID_HOME=/opt/android-sdk-linux 
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

เพื่อโหลดคำสั่งเรียกใช้ไฟล์ซ้ำ

source ~/.bashrc

ตรวจสอบแพลตฟอร์มที่ติดตั้งแล้วรันคำสั่ง

ionic platform

เอาท์พุต

Installed platforms:
  android 6.0.0
Available platforms: 
  amazon-fireos ~3.6.3 (deprecated)
  blackberry10 ~3.8.0
  browser ~4.1.0
  firefoxos ~3.6.3
  ubuntu ~4.3.4
  webos ~3.7.0

หากติดตั้ง Android แล้วจำเป็นต้องลบและติดตั้งอีกครั้ง

ionic platform rm android
ionic platform add android

หากยังไม่ได้ติดตั้งโปรดเพิ่มแพลตฟอร์ม Android

ionic platform add android

โปรดตรวจสอบว่าคุณได้เพิ่มแพลตฟอร์ม Android โดยไม่มีคำสั่ง sudo

หากคุณยังคงได้รับข้อผิดพลาดในการเพิ่ม android platfrom ดังต่อไปนี้

ข้อผิดพลาด: EACCES: การอนุญาตถูกปฏิเสธเปิด '/home/ubuntu/.cordova/lib/npm_cache/cordova-android/6.0.0/package/package.json'

โปรดไปที่ / home / ubuntu / และลบโฟลเดอร์. cdova ออกจากที่นั่น

cd /home/ubuntu/
sudo rm -r .cordova

ตอนนี้เรียกใช้คำสั่งต่อไปนี้อีกครั้ง

ionic platform add android

หลังจากเพิ่มแพลตฟอร์มสำเร็จคุณจะสามารถสร้าง andoid ในไอออนิกได้

ขอบคุณ


14
จากเวอร์ชั่น 3.0.0 ionic cordova platform add androidมันเป็น
Baumi

28

นี่คือขั้นตอนที่คุณต้องปฏิบัติตามเพื่อตั้งค่า Ionic Project ของคุณให้ทำงานกับโปรแกรมจำลอง android ได้สำเร็จ:

  1. สร้างไอออนิกโปรเจ็กต์: ไอออนิกเริ่มต้นแท็บ appName (สำหรับธีมแท็บ)
  2. cd appName
  3. การตั้งค่าไอออนิก sass
  4. ในการเริ่มแอปบนเว็บ: ให้บริการไอออนิก

ในการเพิ่มแพลตฟอร์ม Android:

สิ่งที่ Priori

ก่อนอื่นคุณต้องตั้งค่าตัวแปรสภาพแวดล้อม สำหรับสิ่งนี้คุณต้องพิจารณา 3 ไฟล์:

1. ~ / .profile (สำหรับการตั้งค่าตัวแปรทุกครั้งที่เทอร์มินัลเปิดขึ้นหรือคอมพิวเตอร์บูทขึ้น):

// รหัสที่คุณต้องต่อท้าย

set PATH so it includes user's private bin directories
PATH="$HOME/bin:$HOME/.local/bin:$PATH"
export ANDROID_HOME='/home/<user_name>/Android/Sdk' <Path to android SDK>
export PATH=$PATH:$ANDROID_HOME/bin
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/platform-tools

2. / etc / environment (เพื่อตั้งค่าตัวแปรสภาพแวดล้อม):

// เนื้อหาทั้งหมดของไฟล์

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
JAVA_HOME="/usr/lib/jvm/java-8-oracle"
ANDROID_HOME="/home/<user_name>/Android/Sdk" <Path to android SDK>

3. / etc / profile :

// รหัสที่คุณต้องเพิ่มในตอนท้าย

JAVA_HOME=/usr/lib/jvm/java-8-oracle <Path where Java is installed>
JRE_HOME=$JAVA_HOME/jre 
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME
export JRE_HOME
export PATH

สำหรับการโหลดการเปลี่ยนแปลงข้างต้นที่เกิดขึ้นกับไฟล์คุณต้องเรียกใช้คำสั่งต่อไปนี้:

source ~/.profile
source /etc/environment
source /etc/profile

สิ่งที่ Posteori

1.เพิ่มแพลตฟอร์ม: แพลตฟอร์มไอออนิกเพิ่ม Android (โปรดทราบว่าคุณต้องเรียกใช้คำสั่งนี้โดยไม่ใช้sudo )

2.หากคุณยังคงได้รับข้อผิดพลาดในคำสั่งด้านบนให้ทำดังต่อไปนี้: (ที่นี่ appName = helloWorld)

    cd ..
    sudo chmod -R 777 helloWorld
    cd helloWorld 
    ionic platform add android
    If you are still getting the error then remove ".cordova" folder from the home directory of your PC.

3. ในการเรียกใช้แอพในโปรแกรมจำลอง Android ของคุณ: ไอออนิกรัน Android

ขอบคุณ!


ขอบคุณ Nikhil มันก็ใช้ได้สำหรับฉันเช่นกัน หลังจากลองทำสิ่งต่างๆมากมาย - มันใช้ได้ผลกับขั้นตอนข้างต้นที่คุณให้ไว้ :-)
Rajeev Jayaswal

ฉันพบปัญหา 'ล็อกอินลูป' หลังจากเพิ่มตัวแปร Java และ android ใน / etc / environment โชคดีที่ฉันสามารถลบสิ่งนั้นออกจากการเข้าสู่ระบบเทอร์มินัล (ctrl + alt + F3) และตอนนี้การเข้าสู่ระบบเป็นเรื่องปกติ
Harry

8

สำหรับผู้ที่มีรุ่น SDK แบบพกพาบน windows ให้เพิ่ม 2 เส้นทางต่อไปนี้ในระบบของคุณ

F:\ADT_SDK\sdk\platforms
F:\ADT_SDK\sdk\platform-tools

สิ่งนี้ได้ผลสำหรับฉัน


ฉันสงสัยว่าทำไมคำตอบของฉันถึงถูกโหวตลง เป็นไปได้ไหมที่จะมีเหตุผลของการกระทำนี้?
BoCyrill

2
เพราะคุณไม่ได้บอกว่าจะเพิ่มอย่างไร?
Florian Lauterbach

1
แน่นอนคุณไม่ได้ระบุวิธีการทำขั้นตอนนั้น
Anuj

8

ฉันเคยมีปัญหานี้มาก่อน
คุณต้องเพิ่มsdks\toolsและsdks\build-toolsในเส้นทางสภาพแวดล้อมของคุณ


5

ดำเนินการ: sudo gedit ~/.bashrc เพิ่ม

JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export JAVA_HOME
PATH=$PATH:$JAVA_HOME
export PATH
export ANDROID_HOME=~/Android/Sdk 
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

และ

source ~/.bashrc

5

11 เมษายน 2019

คำตอบข้างต้นไม่สามารถแก้ปัญหาของฉันได้ดังนั้นฉันจึงต้องการรวมโซลูชันปัจจุบัน (ณ เดือนเมษายน 2019) สำหรับผู้ที่ใช้ Ubuntu 18.04 นี่คือวิธีที่ฉันแก้ไขคำถามข้างต้น ...

  1. ฉันติดตั้ง Android SDK จากเว็บไซต์และวางไว้ในโฟลเดอร์นี้:/usr/lib/Android/
  2. ค้นหาตำแหน่งที่ติดตั้ง SDK และเวอร์ชัน ในกรณีของฉันมันอยู่ที่นี่:

    /usr/lib/Android/Sdk/build-tools/28.0.3

    หมายเหตุ: ฉันใช้เวอร์ชัน 28.0.3 เวอร์ชันของคุณอาจแตกต่างออกไป

  3. เพิ่มANDROID_HOMEเส้นทางสภาพแวดล้อม ในการดำเนินการนี้ให้เปิด / etc / environment ด้วยโปรแกรมแก้ไขข้อความ:

    sudo nano /etc/environment

    เพิ่มบรรทัดสำหรับANDROID_HOMEเวอร์ชันและเส้นทางเฉพาะของคุณ ในกรณีของฉันมันคือ:

    ANDROID_HOME="/usr/lib/Android/Sdk/build-tools/28.0.3"

  4. สุดท้ายจัดหาสภาพแวดล้อมที่อัปเดตด้วย: source /etc/environment

    ยืนยันสิ่งนี้โดยลอง: echo $ANDROID_HOMEในเทอร์มินัล คุณควรได้รับเส้นทางของตัวแปรที่สร้างขึ้นใหม่

    หมายเหตุเพิ่มเติมเกี่ยวกับการจัดหาฉันต้องรีสตาร์ทคอมพิวเตอร์เพื่อให้เทอร์มินัล VScode รับรู้การเปลี่ยนแปลงของฉัน หลังจากรีสตาร์ทสภาพแวดล้อมถูกตั้งค่าแล้วและฉันก็ไม่มีปัญหาใด ๆ ตั้งแต่นั้นมา


2

ฉันต้องการแบ่งปันคำตอบที่แสดงให้เห็นถึงแนวทางโดยใช้ Android SDK ที่จัดเตรียมโดยที่เก็บ Ubuntu:

ติดตั้ง Android SDK

sudo apt-get install android-sdk

ส่งออกตัวแปรสภาพแวดล้อม

export ANDROID_HOME="/usr/lib/android-sdk/"
export PATH="${PATH}:${ANDROID_HOME}tools/:${ANDROID_HOME}platform-tools/"

1

มาที่นี่จาก google เพื่อค้นหาปัญหาเดียวกันและเสียเวลา 4 ชั่วโมงเพื่อค้นหาว่ามีอะไรผิดปกติ และตอนนี้ฉันรู้สึกโง่มากในขณะที่โพสต์คำตอบนี้ ในกรณีของฉัน SDK, JDK, JRE, Ant และสิ่งอื่น ๆ ได้รับการติดตั้งและทำงานก่อนหนึ่งวัน

แต่มีเพียงโครงการเดียวที่ให้ปัญหานี้แก่ฉัน อันนี้อยู่ภายใต้"C: \ Users \ Name \ Documents"สถานที่ตั้ง

ในไม่ช้าฉันก็รู้ว่าฉันใช้ cmd ในฐานะผู้ใช้ปกติทันทีที่ฉันเลือก " Run as Administrator " ทุกอย่างก็เริ่มทำงาน

เคล็ดลับ: ควรพิจารณาที่ตั้งโครงการอย่างรอบคอบ!


1

สิ่งนี้ช่วยแก้ปัญหาของฉันได้ เพิ่มด้านล่างในเส้นทางระบบของคุณ

PATH_TO_android \ แพลตฟอร์ม

PATH_TO_android \ แพลตฟอร์มเครื่องมือ


0

ฉันประสบปัญหานี้ในคอมพิวเตอร์ windows7: การปิดคอมพิวเตอร์ในขณะที่บริการไอออนิกกำลังทำงานอยู่ (ฉันคิดว่านั่นเป็นปัญหาที่ทำให้ทุกอย่างเสียหาย)

ลบโหนดโดยสมบูรณ์และติดตั้งใหม่ทั้งหมดบนสำเนาโหนดใหม่


0

ใน Windows หากคุณกำลังเรียกใช้คำสั่งนี้จากเทอร์มินัลรหัส VS และแม้หลังจากตั้งค่าตัวแปรสภาพแวดล้อมทั้งหมดแล้ว (เช่น build-tools, platform-tools, tools) มันไม่ทำงานพยายามเรียกใช้คำสั่งเดียวกันจากเทอร์มินัล cmd ภายนอก ในกรณีของฉันแม้ว่าจะเริ่มเทอร์มินัลรหัส VS ใหม่ แต่ก็ไม่สามารถใช้เส้นทางสภาพแวดล้อมที่อัปเดตได้

ใช้งานได้เมื่อฉันรันคำสั่งเดียวกันจาก Windows cmd


0

ในการตั้งค่าสภาพแวดล้อมANDROID_HOMEบน ubuntu 20.04 ให้ไปที่ snap store ของ Ubuntu และติดตั้ง Android studio จากนั้นเปิด

vim $HOME/.bashrc

และตั้งค่าตัวแปรสภาพแวดล้อมดังนี้:

export ANDROID_HOME=${HOME}/Android/Sdk
export PATH=${ANDROID_HOME}/tools:${PATH}
export PATH=${ANDROID_HOME}/emulator:${PATH}
export PATH=${ANDROID_HOME}/platform-tools:${PATH}

ด้วย Android studio เวอร์ชันล่าสุดแทนที่ANDROID_HOMEด้วยANDROID_SDK_ROOTมิฉะนั้นการสร้างจะบ่นว่าANDROID_HOME เลิกใช้งาน

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