`
ydyyes
  • 浏览: 25344 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

honeycomb新编写应用编译成系统应用

阅读更多
honeycomb新编写应用编译成系统应用


前景:在android操作系统中,如果想给系统定制自己的应用程序,又不想给用户删除(像信息,电话这样的应用程序),你就需要它了。
1、开发环境
     操作系统:Ubuntu xx
     开发工具:Eclipse
     源码: Android honeycomb3.1(3.0)

2、以Helloworld为例
     (1)、建立一个App
在Eclipse-App开发环境中新建一个Android Project命名为Helloworld,然后在模拟器上调试运行。将会见到下看到Helloworld 程序运行,并在屏幕上显示Hello world ,Main!这一步我们不需要写任何的代码。
     (2)、移植App到Android
       在linux系统中进入Android的源码目录,来到./package/apps/Settings/ 目录,把这里的Android.mk复制到刚才那个HelloWorld App 的 跟目录下,并修改Android.mk文件

android.mk
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)

LOCAL_MODULE_TAGS := optional

LOCAL_SRC_FILES := $(call all-java-files-under, src)

LOCAL_PACKAGE_NAME := Settings(换成HelloWorld,也可以自己取名,主要与后面的generic_no_telephony.mk修改一致即可)
LOCAL_CERTIFICATE := platform

LOCAL_PROGUARD_FLAG_FILES := proguard.flags //去掉

include $(BUILD_PACKAGE)

# Use the folloing include to make our test apk.
include $(call all-makefiles-under,$(LOCAL_PATH))

3、修改/bulid/target/product/generic_no_telephony.mk 把工程编译到系统中(android2.2修改在/bulid/target/product/generic.mk)

generic_no_telephony.mk

PRODUCT_POLICY := android.policy_phone

PRODUCT_PACKAGES := \
    AccountAndSyncSettings \
    DeskClock \
    AlarmProvider \
    Bluetooth \
    Calculator \
    Calendar \
    Camera \
    CertInstaller \
    DrmProvider \
    Email \
    Gallery3D \
    LatinIME \
    Launcher2 \
    Music \
    Provision \
    Phone \
    QuickSearchBox \
    Settings \
    Sync \
    SystemUI \
    Updater \
    CalendarProvider \
    SyncProvider \
    CryptKeeper \
    HelloWorld

PRODUCT_PACKAGES += \
    icu.dat

PRODUCT_PACKAGES += \
    librs_jni \
    libvideoeditor_jni \
    libvideoeditorplayer \
    libvideoeditor_core


PRODUCT_COPY_FILES := \
        system/bluetooth/data/audio.conf:system/etc/bluetooth/audio.conf \
        system/bluetooth/data/auto_pairing.conf:system/etc/bluetooth/auto_pairing.conf \
        system/bluetooth/data/blacklist.conf:system/etc/bluetooth/blacklist.conf \
        system/bluetooth/data/input.conf:system/etc/bluetooth/input.conf \
        system/bluetooth/data/main.nonsmartphone.conf:system/etc/bluetooth/main.conf \
        system/bluetooth/data/network.conf:system/etc/bluetooth/network.conf

$(call inherit-product-if-exists, frameworks/base/data/fonts/fonts.mk)
$(call inherit-product-if-exists, frameworks/base/data/keyboards/keyboards.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/core.mk)

# Overrides
PRODUCT_BRAND := generic
PRODUCT_DEVICE := generic
PRODUCT_NAME := generic_no_telephony

4、编译:
cd 源码目录
source build/envsetup.sh
choosecombo(选择默认直接回车)
make -j2

5.获得system.img
./emulator -avd abc(模拟器名称已经存在) -system out/target/product/generic/system.img
就可以从模拟器看到你的应用了,从setting也不可以删除了。

5(2)(两种方式都可以)
(5)、
cd 源码目录
编译Android SDK
     在Android源码根目录下执行:#make sdk

     等待......

    编译完成后

    来到/out/host/linux-x86/sdk/android-sdk_eng.root_linux-x86/tools/下,执行 :

    ./emulator -avd ANDROID2

    启动模拟器,就会开到Helloworld会在Android系统中。
分享到:
评论

相关推荐

    君正发布采用Honeycomb系统的1GHz移动应用处理器.pdf

    君正发布采用Honeycomb系统的1GHz移动应用处理器.pdf

    Laravel开发-honeycomb-scripts

    "Laravel开发-honeycomb-scripts"这个项目是专门为Laravel框架设计的一组脚本,旨在帮助开发者更加高效地搭建和管理蜂窝式内容管理系统(CMS)。蜂窝式CMS是一种以模块化、灵活和可扩展性为核心的设计理念,使得网站...

    honeycomb-server:微型应用容器服务器

    honeycomb-server是web应用的托管服务,每个应用以独立进程运行。 app发布、下线、reload、版本切换 支持路径级别的路由,为微应用模式提供便利 配置管理,方便环境适配和线上切换 监控集成:app级别的简单监控,更...

    Laravel开发-honeycomb-resources

    在Laravel框架中,"honeycomb-resources"很可能是一个自定义的资源包,用于构建一个蜂窝式的内容管理系统(CMS)。这个CMS可能专注于提供一种结构化的、模块化的资源管理方式,模仿蜂窝的六边形结构,使得数据组织...

    honeycomb-cli:用于开发蜂窝微应用程序的cli工具

    蜂窝应用程序开发人员的命令行工具。 English | 安装 npm install honeycomb-cli -g 用法 初始化应用 honeycomb init [-t template] [-s scope] [--registry registry] [directory] template ,应用程序模板,...

    honeycomb-console-源码.rar

    honeycomb-console-源码.rar

    Laravel开发-honeycomb-acl .zip

    总的来说,Laravel开发中的Honeycomb ACL系统提供了一个强大且易于使用的权限管理系统,它使得开发者能够轻松地控制用户对应用资源的访问,从而提高系统的安全性与稳定性。通过理解并熟练掌握这一系统,开发者可以更...

    Laravel开发-honeycomb-core

    Honeycomb Core 是一个专为 Laravel 框架设计的后端组件系统,它致力于提供一个高效、灵活且可扩展的解决方案,帮助开发者构建功能丰富的内容管理系统(CMS)。在本文中,我们将深入探讨 Honeycomb Core 的核心概念...

    应用:针对Honeycomb平板进行优化的10大热门游戏.docx

    本文档列举了针对运行Android Honeycomb操作系统的平板电脑进行优化的十大热门游戏。Honeycomb是谷歌专门为平板电脑设计的一个Android版本,这些游戏在大屏幕上提供了更好的体验,充分利用了平板电脑的硬件性能。 ...

    honeycomb_standard_honeycomb_fun_蜂窝_abaqus蜂窝建模_ABAQUS_abaqus蜂窝_源

    这可能包括固定边界、荷载应用、接触定义等。例如,在模拟冲击或压缩实验时,可能会在特定边缘施加位移约束,而在顶部或底部施加载荷。在参数化建模中,边界条件的设定也需要与几何参数关联,以便于进行各种工况的...

    Laravel开发-honeycomb-acl

    应用需求可能会随着时间和用户反馈而变化,因此 "honeycomb-acl" 支持动态添加、修改和删除角色及权限。这样,你可以在不修改代码的情况下调整访问控制策略。 8. **多级权限继承**: 为了简化权限管理,...

    Python库 | honeycomb_beeline-2.12.2.dev1-py2.py3-none-any.whl

    这个库可能与Honeycomb.io服务集成,这是一个强大的观测性平台,能够帮助开发者深入理解他们的应用程序性能,特别是对于微服务架构和分布式系统。它可能提供了事件收集、性能指标跟踪、错误报告等功能,让开发者可以...

    Laravel开发-honeycomb-seo

    Honeycomb SEO 包则为 Laravel 应用程序提供了一个方便的工具,以高效且结构化的方式管理页面的 SEO 元素。 首先,理解 Laravel 的核心概念至关重要。Laravel 采用了模型-视图-控制器(MVC)设计模式,它将业务逻辑...

    移动应用开发:Android操作系统.ppt

    移动应用开发领域中,Android操作系统占据着举足轻重的地位。Android是由Google在2007年11月5日正式推出的,它是一个基于Linux内核的开源操作系统,旨在为智能手机和平板电脑等移动设备提供一个全面的操作环境。...

    HoneycombGallery

    【Honeycomb Gallery】是一个专为Android平台设计的组件,主要在Android 3.0(API级别11)及以上版本中使用,它为应用程序提供了一种展示内容的优雅方式,尤其适用于图片或媒体集合的展示。这个组件借鉴了蜂巢...

    _浅论基于安卓操作系统的应用程序开发

    ### 基于安卓操作系统的应用程序开发 #### 一、引言 随着信息技术的迅猛发展,特别是嵌入式硬件技术的进步,电子产品已经成为人们生活中不可或缺的一部分。个人电脑(PC)和智能手机的发展尤为突出,它们不仅改变...

    honeycomb, 用于云的MySql存储引擎.zip

    honeycomb, 用于云的MySql存储引擎 Honeycomb, -. __ _/__/__ {|||) <__/__/__//__/__/ `-' __/__/__//__/__/ __/__/__/ __/__/ _

    Laravel开发-honeycomb-core-ui

    "Laravel开发-honeycomb-core-ui" 提到了一个基于Laravel的项目,旨在提供一个蜂窝式的用户界面组件(UI)用于内容管理系统(CMS)。这个项目很可能是为了提升用户体验和管理效率,通过定制化和模块化的UI设计来增强...

    用Eclipse开发和调试Android应用程序

    在本文中提到的Android SDK Platform Honeycomb Preview是针对平板电脑优化的系统版本,具有更强大的功能和界面设计,更适合大屏幕设备。随着SDK的更新,开发者可以利用新特性为Android 3.0及更高版本的平板电脑开发...

Global site tag (gtag.js) - Google Analytics