Przypuśćmy, że mam sobie jakiegoś chińskiego tableta. Czy poprzez oficjalną bibliotekę dla Androida (Java) istnieje możliwość dostania się do hardware'u i przypuśćmy kontrolowania linii GPIO czy PWM'u ?
Nie sądzę żeybś był w stanie dostać się do tych linii w tablecie czy w telefonie. Ale możesz zamiast tabletu kupić sobie np coś podobnego:
1) tańsze - LS6410 SAMSUNG ARM11 S3C6410 board kit 4.3 TFT LCD (Android)
2) full wypas - i.MX51 Evaluation Kit Product Summary Page
Poprzez API Android'a (Java) nie ma możliwości kontrolowania sprzętu w ten sposób.
Jeżeli nie, to można byłoby prosić o nakreślenie problemu, jak napisać samemu odpowiednią bibliotekę do takich rzeczy ? Jak mi wiadomo, jądrem Androida jest po prostu Linux. Czy struktura systemu plików w Androidzie jest podobna do klasycznej z dystrybucji linux'owskich ?
Tego w samej Javie nie napiszesz. C/C++. Struktura i system plików są Linuxowe - poczytaj w dokumentacji jest o tym napisane.
Jeżeli tak, to czy istnieje dostęp, poprzez znów API Androida, do wszystkich typowych plików z katalogów /dev, /sys czy /proc ?
Jeśli urządzenie jest "zrootowane" to masz dostęp do każdego folderu, także za pomocą Javy.
Wiem, że istnieje NDK, które prędzej do tego by się nadawało, ale niestety strasznie kuleje dokumentacja.
Są na szczęście jeszcze tutoriale i inne materiały poza oficjalną dokumentacją.
Ze względu na to, że już trochę na rynku funkcjouje Android i developerzy aplikacji głównie piszą programy w Javie, więc pomyślałem, że do tego typu kwestii istnieją już biblioteki.
Przypuszczam że 99,9% developerów pisze aplikacje na telefony/tablety, bez zagłębiania się w kontrolowanie sprzętu na niskim poziomie.