如何用一个应用程序制作嵌入式Android操作系统?

如何用一个应用程序制作嵌入式Android操作系统?,android,arm,embedded,kiosk-mode,Android,Arm,Embedded,Kiosk Mode,我想让我自己的嵌入式系统建立在安卓(ARM)上,只使用安卓分发的设备,但不使用它们的启动器 或 我想用我的应用程序启动Android,并拒绝关闭它,从我的应用程序中关闭Android。听你的问题,你想创建自己的自定义Android操作系统版本。这将比开发普通的安卓应用程序更复杂,因此你需要大量阅读,尤其是安卓操作系统的源代码 我建议您开始。实际上,您正在尝试自定义AOSP构建,其中“主”是您的应用程序。如果您查看/packages/apps/Launcher2,您将找到默认主屏幕的代码 如果查看

我想让我自己的嵌入式系统建立在安卓(ARM)上,只使用安卓分发的设备,但不使用它们的启动器


我想用我的应用程序启动Android,并拒绝关闭它,从我的应用程序中关闭Android。

听你的问题,你想创建自己的自定义Android操作系统版本。这将比开发普通的安卓应用程序更复杂,因此你需要大量阅读,尤其是安卓操作系统的源代码


我建议您开始。

实际上,您正在尝试自定义AOSP构建,其中“主”是您的应用程序。如果您查看/packages/apps/Launcher2,您将找到默认主屏幕的代码

如果查看其中的AndroidManifest.xml文件,您将看到如下内容:

     <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>
LOCAL_OVERRIDES_PACKAGES := Home

只要你的应用程序没有为用户提供使用图标启动其他应用程序的方式(就像启动器一样),其他应用程序就不会启动;当然,除非有什么东西从应用程序控制的路径以外的其他路径发送活动开始意图,比如使用“am”目标Android外壳上的命令。

LOCAL\u OVERRIDES\u PACKAGES:=Home
你正在用它替换Launcher2的应用程序中的
Home
是AOSP中当前使用的launcher的模块名。可能是旧的安卓版本使用的家庭模块,现在是Launcher2。所以应该使用
LOCAL\u OVERRIDES\u PACKAGES:=Launcher3
,甚至
LOCAL\u OVERRIDES\u PACKAGES:=Launcher2-Launcher3
。Cyanogenmod 12使用投石机启动器,因此对于CM构建,我将使用
LOCAL\u OVERRIDES\u包:=launchest3投石机