Overview
Android Things 事始め では、developer preview 1 を Intel Edison for Arduinoで動かしてみました。
こちらのページでは分析をしてみます。
通常のAndroidとの違いは何か?
apk編
edison:/system/app $ ls
AndroidThings BluetoothMidiService ExtShared HTMLViewer KeyChain UserDictionaryProvider WifiSetup
Bluetooth CertInstaller GoogleTTS IoTFrameworkPackageStubs PacProcessor WallpaperBackup webview
AndroidThings.apkやIoTFrameworkPackagesStubs.apkがありますね。
edison:/system/priv-app $ ls
BackupRestoreConfirmation ExtServices IoTLauncher PackageInstaller SettingsProvider gapps_links
CalendarProvider ExternalStorageProvider ManagedProvisioning PrebuiltGmsCore SharedStorageBackup
ContactsProvider FusedLocation MediaProvider Provision Shell
DefaultContainerService GoogleServicesFramework MtpDocumentsProvider ProxyHandler StatementService
DownloadProvider InputDevices OneTimeInitializer Settings TelephonyProvider
IoTLauncher.apkがありますね。
media_codec.xml
<MediaCodecs>
<Include href="media_codecs_google_audio.xml" />
</MediaCodecs>
さすがに、audio codecだけみたいです。
com.google.android.things
/system/etc/permissions/iot_features.xml
<permissions>
<!-- Marks this device as an iot device. -->
<feature name="android.hardware.type.iot" />
<!-- Add our com.google.android.things library. -->
<library name="com.google.android.things"
file="/system/framework/com.google.android.things.jar" />
</permissions>
ということで、うーーん、uses-featuresでiotを指定できるのと、com.google namespaceなので、libraryはGoogleのproprietary binaryみたいですね。
fonts
/system/fonts $ ls
AndroidClock.ttf DroidSans.ttf DroidSansMono.ttf Roboto-Regular.ttf
DroidSans-Bold.ttf DroidSansFallback.ttf Roboto-Bold.ttf
ということで、さすがに限定されています。
jar
/system/framework $ ls
am.jar conscrypt.jar ims-common.jar sm.jar
android.test.runner.jar content.jar input.jar svc.jar
apache-xml.jar core-junit.jar javax.obex.jar telecom.jar
appwidget.jar core-libart.jar media_cmd.jar telephony-common.jar
bmgr.jar core-oj.jar monkey.jar uiautomator.jar
bouncycastle.jar dpm.jar oat voip-common.jar
bu.jar ethernet-service.jar okhttp.jar wifi-service.jar
com.android.future.usb.accessory.jar ext.jar org.apache.http.legacy.boot.jar wm.jar
com.android.location.provider.jar framework-res.apk pm.jar x86
com.android.media.remotedisplay.jar framework.jar requestsync.jar
com.android.mediadrm.signer.jar hid.jar services.jar
com.google.android.things.jar ime.jar settings.jar
というわけで、先のcom.google.android.things.jarですね。特筆すべきは。
public library
system/vendor/etc $ cat public.libraries.txt
..snip..
libandroidthings_jni.so
libperipheralman.so
android things関係がやはり追加されています。