Android (Suomi)

Tämä artikkeli tai osa vaatii
Suomennosta
.
Huomioita:
Missing some sections from the English page, broken packages have been fixed too. (Keskustele asiasta
Talk:Android (Suomi)#
)
Aiheeseen liittyen
Android tethering
Android Debug Bridge
Tiedostojen siirtäminen
On olemassa useita tapoja siirtää tiedostoja tietokoneen ja Android laitteen välillä:
USB kaapeli
Media Transfer Protocol
moderneille Android laitteille
USB massamuisti
vanhoille laitteille
Android Debug Bridge
erityiset USB tikut / tavallinen USB tikku adapterilla
Bluetooth
Arch Linux ohjelmat Android vastakappaleella
asiakasohjelma tai palvelin protokollille joita voidaan käyttää tiedostojen siirtoon (kuten
SSH
,
FTP
,
Samba
tai HTTP)
KDE Connect
(
kdeconnect
) – integroi Android laitteen KDEn tai Gnomen työpöytäympäristön kanssa (sisältää synkatut ilmoitukset & leikepöydän, multimedia hallinnan, ja tiedosto/URL jakaminen).
pilvipalvelusta synkronoivat asiakasohjelmat
Syncthing
sendanywhere
AUR
– järjestelmästäriippumaton tiedoston jakaminen
qrcp
AUR
– siirrä tiedostoja wifissä tietokoneesta mobiililaitteeseen QR-koodin skannauksella
Sovelluksen kehittäminen
Virallisesti tuettu tapa koota Android sovelluksia on käyttää
Android Studiota
.
[1]
Android Studio
Android Studio
on virallinen Android kehittämis ympäristö perustuen
IntelliJ IDEA:an
. Se antaa Android kehittäjän työkalut kehittelyä ja testailua varten.
Asenna
kyseinen ohjelma
android-studio
AUR
paketilla.
Android Studio luo
.android
polun kotihakemistoon. Android Studio resetointia varten tämän polun voi poistaa.
Huomautus
Varmista että
Java ympäristö
on asetettu kunnolla muuten android-studio ei pysty käynnistymään.
Jos Android Studio näkyy tyhjänä ikkunana, yritä
siirtää
_JAVA_AWT_WM_NONREPARENTING=1
, katso
pulma #57675
.
Android Studion Setup Wizard asentaa tarvittavat
#SDK paketit
ja laittaa SDK oletukselta polkuun
~/Android/Sdk
.
Komentoriviltä sovellusten kokoamista varten (käyttäen esimerkiksi
./gradlew assembleDebug
) aseta
ANDROID_SDK_ROOT
mpäristömuuttuja
SDKn sijaintiin.
SDK paketit
Android SDK paketit voidaan asentaa suoraan ylävirrasta käyttäen
#Android Studion
SDK hallintaohjelmaa
tai
sdkmanager
komentorivi työkalua (osana Android SDK Tools). Jotkin Android SDK paketit ovat myös saatavissa
AUR
paketteina, yleensä ne asentuvat
/opt/android-sdk/
polkuun.
Tarvittavat SDK paketit
ovat:
Android SDK Paketti
SDK-tyyli polku
AUR paketti
AUR malli
CLI työkalut
Komentorivi Työkalut
työkalut
android-sdk-cmdline-tools-latest
AUR
android-sdk-cmdline-tools-latest-dummy
AUR
apkanalyzer, avdmanager, lint, retrace, screenshot2, sdkmanager
SDK Build-Tools
koontityökalut;
versio
android-sdk-build-tools
AUR
android-sdk-build-tools-dummy
AUR
aapt, aapt2, aidl, apksigner, bcc_compat, d8, dexdump, dx, lld, llvm-rs-cc, mainDexClases, split-select, zipalign
SDK Platform-Tools
alustatyökalut
android-sdk-platform-tools
AUR
android-sdk-platform-tools-dummy
AUR
adb
, dmtracedump, e2fsdroid, etc1tool,
#fastboot
, hprof-conv, make_f2fs, make_f2fs_casefold, mke2fs, sload_f2fs, sqlite3, systrace
SDK Platform
alustat;android-
taso
android-platform
AUR
,
vanhemmat versiot
android-platform-dummy
AUR
(tarpeeton)
android-tools
paketti antaa
adb
,
#fastboot
,
e2fsdroid
ja
mke2fs.android
SDK Platform-Tools:eista mukaanlukien
mkbootimg
ja
ext2simg
.
Huomautus
;
Koska Android SDK sisältää 32-bittisiä binäärejä, kannattaa aktivoida
multilib
paketinjakelu. Muuten saat
error: target not found: lib32-*
virheviestin.
Jos päätät suoraan asentaa SDK paketit ylävirrasta, asenna AUR paketit
AUR mallit
sarakkeesta saadaksesi tarvittavat riippuvuudet.
Jos
java.lang.NoClassDefFoundError
poikkeus ilmestyy yritettäessä suorittaa
sdkmanager
, käytä OpenJDK 8 JRE:tä väliaikaisesti asentamalla paketti
jre8-openjdk
ja
vaihtamalla Java ympäristö
. Katso
skdmanager --list ei toimi Java 9 kanssa
Android Emulaattori
Android Emulaattori
on saatavissa
emulator
SDK pakettina,
android-emulator
AUR
pakettina, ja on olemassa myös malli paketti sille:
android-emulator-dummy
AUR
.
Android Emulaattorin suorittamiseen tarvitaan Intel tai ARM järjestelmä kuvake. Ne voidaan asentaa AUR paketinjakelusta
[2]
, sdkmanagerilla tai käyttämällä Android Studion
AVD Manageria
.
Muut SDK paketit AUR paketinjakelussa
Android tuki kirjasto
on nyt saatavilla netistä
Googlen Maven paketinjakelusta
.
Sen voi myös asentaa offline tilassa jakelusta
extras;android;m2repository
SDK pakettina (myös saatavilla
android-support-repository
AUR
).
/opt/android-sdk tekeminen ryhmä-kirjoitettavaksi
AUR paketit asentavat SDKn polkuun
/opt/android-sdk/
. Tällä polulla on root
oikeudet
, joten muista suorittaa sdk manageria root käyttäjänä. Jos aiot käyttää sitä tavallisena käyttäjänä, luo android-sdk käyttäjien ryhmä, lisää käyttäjäsi sinne.
# groupadd android-sdk
# gpasswd -a <user> android-sdk
Laita pystyyn pääsyn hallinta lista antaaksesi uudelle ryhmälle oikeudet kirjoittaa android-sdk kansioon. sdkmanageri voi myös luoda uusia tiedostoja, joten aseta ACL oletus ACL:äksi. X merkintä oletusryhmässä tarkoittaa suorituksen sallimista omistajalta tai keltä vain muulta.
# setfacl -R -m g:android-sdk:rwx /opt/android-sdk
# setfacl -d -m g:android-sdk:rwX /opt/android-sdk
Kirjaudu sisään uudelleen tai käyttäjällä <user> kirjaudu terminaalissa uuteen ryhmään:
$ newgrp android-sdk
Muut IDE sovellukset
Android Studio on virallinen Android kehitysympäristö perustuen IntelliJ IDEAan. Vaihtoehtoisesti voidaan käyttää
Netbeans
sovellusta NBAndroid-V2 kanssa. Kaikki on kuvattu alapuolella.
Netbeans
Jos
Netbeans
on mieluisampi IDE ja Android sovelluksia halutaan kehittää, käytä
NBAndroid-V2
.
Asenna
android-sdk
AUR
paketti ja seuraa ohjeita
täältä
.
Vim / Neovim
On mahdollista kirjoittaa
flutter
ohjelmia Androidille ja iOS:lle käyttämällä tekstinkäsittely ohjelmaa (Neo)vim kuten IDE:tä. Asenna
coc
käyttäen jotain
Vim lisäosiehallitsiaa
. Asenna myös
coc-flutter
lisäosa automaattista täydennystä varten (kuten Android Studiossa) ja lataa koodi Android emulaattoriin.
Emacs
Jos haluaa käyttää Emacsia
flutter
ohjelmien kehittämiseen, kannattaa asentaa
lsp-dart
, niin kuin
täällä
on sanottu.
Muut työkalut
Marvin
Marvin on työkalu, joka auttaa aloittelijita asettamaan Android kehitysympäristön.
marvin_dsc
AUR
asentaminen auttaa asettamaan seuraavat asiat: JDK, Android SDK, IDE(t), ja AVD.
Koonti
Huomaa että nämä ohjeet perustuvat
virallisiin AOSP koonti ohjeisiin
. Muut Android-peräiset järjestelmät kuten LineageOS usein vaaivat ylimääräisiä askeleita.
Tarvittavat paketit
Huomautus
Ennen seuraavien askelien suorittamista,
multilib
paketinjakelu pitää olla aktivoituna
/etc/pacman.conf
tiedostossa.
2020 Huhtikuusta lähtien kootaksesi AOSP 10 tai LineageOS 17.1 tarvitaan (mahdollisesti vain osajoukko):
base-devel
,
multilib-devel
,
gcc
,
repo
,
git
,
gnupg
,
gperf
,
sdl
AUR
,
wxgtk2
[
broken link
: package not found]
,
squashfs-tools
,
curl
,
ncurses
,
zlib
,
schedtool
,
perl-switch
,
zip
,
unzip
,
libxslt
,
bc
,
rsync
,
ccache
,
lib32-zlib
,
lib32-ncurses
,
lib32-readline
,
ncurses5-compat-libs
AUR
,
lib32-ncurses5-compat-libs
AUR
, ja TTF fontti asennettuna, kuten
ttf-dejavu
. Erityisesti Python2 tai Javaa ei tarvita, sillä ne tulevat AOSPsta/Lineagesta.
Seuraavat paketit koskevat vain vanhoja Android versioita: {,{Pkg|lib32-gcc-libs}}
git
,
gnupg
,
flex
,
bison
,
gperf
,
sdl
AUR
,
wxgtk2
[
broken link
: package not found]
,
squashfs-tools
,
curl
,
ncurses
,
zlib
,
schedtool
,
perl-switch
,
zip
,
unzip
,
libxslt
,
bc
,
rsync
,
ncurses5-compat-libs
AUR
,
lib32-zlib
,
lib32-ncurses
,
lib32-readline
,
lib32-ncurses5-compat-libs
AUR
.
aosp-devel
AUR
metapaketti kaiken yksinkertaista asennusta varten.
Lisäksi LineageOS tarvitsee seuraavat paketit:
xml2
AUR
,
lzop
,
pngcrush
,
imagemagick
. Ne voidaan asentaa
lineageos-devel
AUR
metapaketilla.
Java kehityssarja - JDK
Tarvittava JDK versio
riippuu Android versiosta, jota kootaan:
Android 9 (Pie) ja uudemmat, Java sisältyy Androidin lähdekoodiin ja erillistä asennusta ei siksi tarvita.
Android 7 ja 8 (Nougat ja Oreo), OpenJDK 8 tarvitaan, joka on saatavissa
jdk8-openjdk
paketilla.
Huomautus
Vanhemmille Android versioille, mihin Java ei sisälly, Javan oletuspolku on
/usr/lib/jvm/java-
versio
-openjdk-amd64
.
Aseta JAVA_HOME muuttuja välttääksesi ongelmia, joka myös vastaa paremmin Arch Linux asennuksen polkua.
Esimerkki:
$ export JAVA_HOME=/usr/lib/jvm/java-
versio
-openjdk
Tämä muutos toimii vain sen hetkisessä terminaali istunnossa.
Koontiympäristön valmistelu
Asenna
repo
paketti.
Luo polku koonnille.
$ mkdir ~/android
$ cd ~/android
Android koonti prosessi olettaa
python
olevan python2. Lisää se muuttujaan
PATH
:
$ mkdir bin
$ ln -s /bin/python2 bin/python
$ export PATH=$PWD/bin:$PATH
Vaihtoehtoisesti luo python2 virtuaaliympäristö ja aktivoi se:
$ virtualenv2 --system-site-packages venv
$ source venv/bin/activate
Huomautus
Tämä aktivointi koskee vain sen hetkistä terminaali istuntoa. Virtuaaliympäristö
env
pidetään
venv
kansiossa.
"--system-site-packages" antaminen virtualenv2 osoittaa virtuaaliympäristön asennetuille python2.7 moduuleille. Tämän pitäisi antaa käyttöön kaikki python moduulit mitä tarvitaan koontiin, olettaen kaikkien tarvittavien olevan asennettuna, kuten esimerkiksi python2-mako.
Jos koonnin aikana edelleen saadaan virheilmoituksia littyen puuttuviin python moduuleihin nopea ja hieman rikkinäinen tapa korjata se on symlinkata /usr/lib/python2.7/* polkuun ~/android/venv/lib/python2.7/ (Vaihda ~/android vastaamaan omaa polkurakennettasi).
Esimerkki:
$ ln -s /usr/lib/python2.7/* ~/android/venv/lib/python2.7/
tai (olettaen koontipoluksi Data/Android_Build):
$ ln -s /usr/lib/python2.7/* /Data/Android_Build/venv/lib/python2.7/
Lähdekoodin lataaminen
Tämä kloonaa riippuvuudet. Tämän tarvitsee tehdä
vain
ensimmäisen kerran kun kootaan Androidia, tai jos halutaan vaihtaa haaraa.
repo
sisältää
-j
argumentin joka operoi samalla tavalla kuin
make
komennossa. Koska se kontrolloi monia samanaikaisia latauksia, sitä arvoa kannattaa muuttaa sopimaan alavirran verkon kaistaan.
haara
pitää määritellä (
lista haaroista
) kuittaamaan
-b
argumentin kanssa. Jos tämän argumentin jättää pois, tästä saadaan ns.
master haara
.
$ repo init -u
https://android.googlesource.com/platform/manifest
-b master
$ repo sync -j4
Huomautus
Synkronointiajan pienentämistä varten voidaan käyttää
-c
vipua repo komennolla kuten tässä esimerkissä:
$ repo sync -j8 -c
-c
vipu synkronoi vain sen haaran, joka on määritelty manifestissa. Vastaavasti tämän päättää haara määriteltynä
-b
vivulla tai sitten paketinjakelun ylläpitäjän oletushaara.
Odota pitkään. Kääntämätön lähdekoodi,
.repo
ja
.git
polkujen kanssa, joilla seurataan tämän kehitystä, yhdessä muodostavat valtavan määrän koodia. Android 10 julkaisemisen jälkeen, vähintään 250 GT vapaata levytilaa
tarvitaan
.
Huomautus
Jos haluat päivittää paikallisen kopion Android lähdekoodista, myöhemmällä aikaa, anna vain koonti haara, lataa Virtualenv, ja uudelleen synkronoi:
$ repo sync
Koodin koonti
Tämän pitäisi tehdä mitä tarvitaan AOSP:tä varten:
$ source build/envsetup.sh
$ lunch full-eng
$ make -j4
Jos suoritat
lunch
komentoa ilman argumentteja, se kysyy minkä koonnin haluat luoda. Käytä -j argumenttia numeron kanssa joka vastaa, tai on kaksinkertainen verraten ydin/säie määrään.
Koonti vie hyvin paljon aikaa.
Huomautus
Huolehdi, että RAM-muisti ei lopu kesken. Android käyttää
/tmp
polkua raskaasti. Oletukselta partition tai levyn osan koko missä
/tmp
kansio on, on noin puolet RAM-muistin määrästä. Jos se täyttyy, koonti epäonnistuu. 4GT RAM-muistia ja enemmän on suositus. Jos
/tmp
ei ole tarpeeksi iso, sitä voi
laajentaa
. Vaihtoehtoisesti voidaan poistaa koko tmpfs
fstab
:ista.
Android koonti ja suorittamis oppaasta
suomennettuna:
"GNU make pystyy hoitamaan rinnakkaisia tehtäviä
-jN
vivulla ja on siis yleistä käyttää N tilalla numeroa välillä 1 tai 2 kerrottuna säikeiden määrällä, mitä tietokoneessa on jolla koontia suoritetaan. Esimerkiksi dual-E5520 koneessa (2 CPUta, 4 ydintä per CPU, 2 säiettä per ydin), nopeimmat koonnit tehdään komennoilla
make -j16
ja
make -j32
."
Koonnin testaus
Kun valmis, suorita/testaa viimeinen levykuva (tai useampi).
$ emulator
Live levykuvan luonti
Asennettavan levykuvan luontia varten on tarpeellista suorittaa:
make -j8 updatepackage
Tämä luo zip kuvakkeen
out/target/product/hammerhead
alle (hammerhead laitteen nimenä) joka on mahdollista asentaa.
Asentaminen
Joissain tapauksissa halutaan palata vakioverioon Androidista, Android mobiili laitteen räätälöidyn ROMmin asennuksen jälkeen. Laitekohtaisille asennusohjeille, käytä
XDA foorumeita
.
Fastboot
Fastboot (kuin myös
adb
) sisältyy
android-tools
pakettiin.
Huomautus
Firmwaren palauttaminen käyttämällä
fastboot
ohjelmaa voi osoittautua hankalaksi, mutta haluat ehkä selata
XDA kehittäjien foorumeita
vakio firmwarelle, joka löytyy usein
*.zip
tiedostona, sen sisällä tuleekin firmware tiedostot sekä
flash-all.sh
skripti. Esimerkiksi
Google Nexus
firmwaret sisältäväy
flash-all.sh
skriptin tai toisena esimerkkina voisi olla OnePlus One -
XDA kommenttiketju
, mistä löytyy firmware sisälletyllä
flash-all.sh
skriptillä.
Jos saat
no permissions
virheilmoituksen tai suorittaminen jää roikkumaan
< waiting for any device >
ilmoituksella, joudut suorittamaan
fastboot
:in root käyttäjänä. Vaihtoehtoisesti voidaan asentaa
android-udev
paketti tai AUR paketti
android-udev-git
AUR
ja yhdistämällä laite uudestaan.
Samsungin laitteet
Samsungin laitteisiin ei pystytä asentamaan
Fastboot
työkalun avulla. Vaihtoehtoina on vain
Heimdall
ja
Odin
(käyttämällä Windowsia ja VirtualBoxia).
samloader
Ladataksesi alkuperäisen Samsungin laiteohjelmiston voidaan käyttää alustasta riippumatonta
samloader
skriptiä.
Heimdall
Heimdall
on järjestelmäriippumaton avoimeen lähdekoodiin perustuva työkalusarja, jota käytetään asentamaan firmwarea (tiedetään myös ROMmina) Samsungin mobiililaitteisiin ja joka myös tiedetään vaihtoehtona
Odinille
. Se voidaan asentaa
heimdall
paketilla.
Asennusohjeet löytyy Heimdallin
Githubista
tai
XDA foorumeilta
.
Odin (Virtualbox)
Huomautus
Tämä osio sisältää vain valmistelun,
ei
asennusohjeita. Hae
XDA kehittäjä foorumeilta
asennusohjeita erityiselle laitteelle. Esimerkiksi
Samsung Galaxy S4
.
On mahdollista myös palauttaa
laiteohjelmisto (Android)
Samsungin laitteille käyttäen
Odinia
, mutta vain
VirtualBox
:issa.
Arch Linux (isäntä) valmistelu:
Asenna
VirtualBox
sen
lisäosan
kanssa ja
vieras lisä
.
Asenna oma suosima, mutta Odinin kanssa yhteensopiva, Windows käyttöjärjestelmä (VirtualBoxin vieraslisien kanssa) virtuaalikiintolevylle VirtualBoxilla.
Avaa VirtualBoxin asetukset Windows käyttöjärjestelmästä, navigoi kohtaan
USB
, sen jälkeen rasti (tai varmista että se on rastittuna)
Enable USB 2.0 (EHCI) Controller
.
VirtualBox joka suorittaa Windows käyttöjärjestelmää, klikkaa menu napista
Devices > USB Devices
, jonka jälkeen klikkaa Samsung mobiililaitteesta, joka on yhdistetty koneeseesi USB liitännällä.
Windows (vieras) valmistelu:
Asenna
Samsungin ajurit
.
Asenna
Odin
.
Lataa tarvittava
Samsung firmware (Android)
siihen älypuhelin malliin joka on käytössä
Varmista että konfiguraatio toimii:
Laita laite
Download
tilaan ja yhdistä Linux laitteeseen.
Virtuaalikoneen työkaluriviltä, valitse
Devices > USB > ...Samsung...
laite.
Avaa Odin. Valkoiseen laatikkoon (suurehko alhaalta vasemmalta) nimellä
Message
, pitäisi tulla teksti samantapainen kuin tämä:
<ID:0/003> Added!!
joka tarkoittaa vain sitä että laite näkyy Odinille ja Windows käyttöjärjestelmälle ja on valmis asentelua varten.
Käytä Androidia Arch Linux pohjalla
On olemassa monia projekteja ja methodeja, jotka tukeat Androidin suorittamista Arch Linux pohjalla:
Container
-pohjautuvat ratkaisut ovat kaikkein suosituimpia. Se on läheisin tapa suorittaa Android ohjelmia ei-Android Linux kernelin kanssa. Ne integroituvat hyvin järjestelmiin ja ne toimivat tehokkaasti. Huomattavampia ovat:
Waydroid
on haarukoitu Anboxista ja se on saanut paljon suosiota osakseen. Se on tehokkaampi, koska se toimii laitteisto-läheisemmin. Se perustuu uudempaan LineageOs 17.1 (Android 10) ja siinä pystyy myös asentamaan Google Play Storen ja muita Open Gappseja. Yksittäisten ikkunoiden lisäksi sillä voi myös käyttää täyttä Androir käyttöliittymää.
On olemassa myös useita Chromium lisäosia, joilla voidaan suorittaa android ohjelmia:
Arc Welder
oli googlen lisäosa ohjelmien suorittamiseen ja testailuun Chrome OS pohjaa varten, mutta se on nykyään jo vanhentunut.
ARChon
on avoimen lähdekoodin lisäosa Chromiumia varten, jolla voidaan suorittaa android ohjelmia.
On myös mahdollista käyttää android emulaattoreita. Etuna tässä on se, että arm ohjelmia pystytään suorittamaan x86:ssa. Tämä kumminkin maksaa tehokkuudessa. Esimerkkeinä:
Android Studion sisään rakennettu emulaattori
, kuten aiemmin mainittu tässä artikkelissa.
Genymotion
on Android emulaatio/testaus ympäristö.
Vinkki
Jos haluat käyttää Android ohjelmia x86 pohjalla ja toisen käyttöjärjestelmän käyttö ei haittaa, voit käyttää
Android-x86
: suora portti Androidista x86 arkkitehtuuriin.