¿Cómo hago un sistema operativo Android incrustado con una sola aplicación?
arm embedded (3)
Esencialmente, usted está tratando de tener una compilación personalizada de AOSP donde la "Casa" es su aplicación. Si miras a / packages / apps / Launcher2 encontrarás el código de la pantalla de inicio predeterminada.
Si miras el archivo AndroidManifest.xml allí, verás algo como esto:
<activity
android:name="com.android.launcher2.Launcher"
android:launchMode="singleTask"
android:clearTaskOnLaunch="true"
android:stateNotNeeded="true"
android:theme="@style/Theme"
android:screenOrientation="nosensor"
android:windowSoftInputMode="stateUnspecified|adjustPan">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.MONKEY"/>
</intent-filter>
</activity>
Esencialmente, esto dice que esta Actividad reacciona a la
android.intent.category.HOME intención .
Cuando el sistema termina de arrancar (el ActivityManager más específicamente), envía ese intento. Entonces, si desea que su aplicación se inicie en lugar del Launcher, simplemente cree una aplicación con un filtro de intento similar y elimine el Launcher2 predeterminado (elimínelo de la lista en build / target / product / generic.mk y coloque el suyo en su lugar) ). También asegúrese de que el archivo .mk relevante tenga algo como esto:
LOCAL_OVERRIDES_PACKAGES := Home
Siempre que su aplicación no proporcione una forma para que el usuario inicie otras aplicaciones utilizando iconos (como lo hace el Lanzador), no se iniciará ninguna otra aplicación; a menos que, por supuesto, algo envíe un intento de inicio de actividad desde una ruta diferente a la que controla su aplicación, por ejemplo, usando el comando "am" en el shell de Android del objetivo.
Me gustaría crear mi propio sistema integrado basado en Android (ARM) utilizando dispositivos distribuidos con Android pero sin su iniciador.
O
Quiero iniciar Android con mi aplicación iniciada en la parte superior y rechazar cerrarla y apagar Android desde mi aplicación.
Mira la fuente del sistema de recuperación; Es un entorno de arranque alternativo que es mucho, mucho más simple. También hay algunas versiones de terceros con soporte de pantalla táctil.
Por el sonido de tu pregunta, deseas crear tu propia compilación personalizada del sistema operativo Android. Eso va a ser más complicado que desarrollar aplicaciones de Android comunes y, en consecuencia, tendrá que leer mucho, especialmente el código fuente del sistema operativo Android.
Te recomiendo que comiences aquí en el proyecto de código abierto de Android .