Android应用程式编译成系统程序简介
简介:在android操作系统中,有一些应用程序,如打电话,系统设置、闹钟等等在我们购买手机的时候就已经有了,如果我们想写一个应用程序到系统中,而又不给用户删除。该如何做?本文将提供一个简单的例子,看看android系统里是如何把应用程序写入系统中去的。
1、开发环境
操作系统:Ubuntu xx
开发工具:Eclipse
Android SDK:android 2.2
2、开发环境搭建过程
要想把android应用程序写入系统中,首先要搭建一个android文件系统的开发环境。由于网上很多搭建环境的例子,这里只罗列要点二具体介绍。
(1)、下载Android文件系统源码
http://source.android.com/source/download.html
(2)、Eclipse源码开发环境
http://source.android.com/source/using-eclipse.html
(3)、Eclipse开发App环境
这个可以参考android sdk 的文档或者网上查找资料
3、以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 := Helloworld #与工程名字相同
LOCAL_CERTIFICATE := platform
include $(BUILD_PACKAGE)
# Use the folloing include to make our test apk.
include $(call all-makefiles-under,$(LOCAL_PATH))
(3)、修改/bulid/target/product/generic.mk 把工程编译到系统中
generic.mk
#
# Copyright (C) 2007 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# This is a generic product that isn't specialized for a specific device.
# It includes the base Android platform.
PRODUCT_PACKAGES := \
AccountAndSyncSettings \
CarHome \
DeskClock \
AlarmProvider \
Bluetooth \
Calculator \
Calendar \
Camera \
CertInstaller \
DrmProvider \
Email \
Gallery3D \
LatinIME \
Launcher2 \
Mms \
Music \
Provision \
Protips \
QuickSearchBox \
Settings \
Sync \
Updater \
CalendarProvider \
SyncProvider \
Helloworld
$(call inherit-product, $(SRC_TARGET_DIR)/product/core.mk)
# Overrides
PRODUCT_BRAND := generic
PRODUCT_DEVICE := generic
PRODUCT_NAME := generic
(4)、将Android工程拷贝到./package/apps/目录下
此时,系统的代码环境已经构建好。
(5)、编译Android SDK
在Android源码根目录下执行:#make sdk
等待......
编译完成后
来到/out/host/linux-x86/sdk/android-sdk_eng.root_linux-x86/tools/下,执行 :
./emulator -avd ANDROID2
启动模拟器,就会开到Helloworld会在Android系统中。
通过设置->应用程序->管理应用程序->全部-选择->Helloworld (如下图示我们可以看到该程序为一个系统默认启动的程序,并且用户不可以将其卸载)
分享到:
相关推荐
资源在Android应用程序编译的过程中,也会被编译成二进制格式。这是为了压缩资源存储空间,以及加快运行时的资源解析速度。Android应用程序在运行的时候,资源管理器AssetManager和Resources会根据当前的机器设置,...
基于LLVM的Android应用程序编译时虚拟化保护之软件工程研究.docx
Android应用程序反编译套件,提供常见的android反编译软件
能轻松破解android程序的资源包,包含布局文件,字符资源,还有图片等(程序的布局文件没破解前是不能直接打开的)
本资源也可从人民邮电出版社网站下载。但由于源代码资源CSDN尚未有... 本书适合作为Android应用程序开发者的实践教材,也适合对Android系统原理有极大兴趣的爱好者阅读,还可供Android系统改造人员作为参考书使用。
3.1 Android应用程序反编译与反混淆技术 3.2 动态分析与脱壳技术 第四章 Android应用程序保护与反保护实验设计 4.1 实验目的与设计 4.2 实验环境与工具 4.3 实验步骤与结果分析 第五章 Android应用程序代码保护评估...
详解android应用程序的反编译整理.pdf
详解android应用程序的反编译汇编.pdf
里面包含了一个反编译工具,一个查看反编译后的文件工具,一个详细说明文档,可以将一个android的apk文件反编译后查看作者的原代码,由于在代码打包成apk时的编译经过了处理,反编译后的代码不可能恢复到原来的代码...
android上安装的应用程序后缀都是apk(Android application package),每个要安装到android平台的应用都要被编译打包为一个单独的文件,后缀名为.apk。而实际上这个apk格式的文件是一种变相的zip压缩包,你可以使用...
本人想学习android1.5中系统应用程序如:联系人,发邮件,googlesearch,摄像,闹钟,日历,Mms,Music,Settings,Phone,Browser,HTMLViewer,IM等等android系统自带的应用程序.发现网上没有这些源码下载,于是自己用了...
Android是一个专门针对移动设备的软件集,它包括一个操作系统,中间件和一些重要的应用程序。Beta 版 的 Android SDK 提供了在 Android 平台上使用 JaVa 语言进行 Android 应用开发必须的工具和 API 接口。 特性 • ...
Android应用程序资源的编译和打包过程分析借鉴.pdf
Android应用程序资源的编译和打包过程分析1.pdf
Qt最大的优势就是跨平台,一次性开发的Qt应用程序,可以跑Windows、跑linux、跑MAC……如今移动平台android操作系统如此火爆,Qt当然不能放过对android的支持,对了,还有iphone/ipad。而且,c++开发者们,想做...
android应用程序锁APP源码,含已经编译好的APK文件
全面介绍了Android的系统架构、开发环境的搭建、Android应用程序的常用组件,以及一个简单的微博客户端的实现方法,为接下来动手实现本书中的完整案例(新浪微博客户端)奠定了基础;第二部分实例篇:介绍了微博...
第三,采用Eclipse+ADT的方式在Ubuntu系统下构建了Android应用程序开发环境,在详细研究Android应用程序开发的核心组件和应用程序生命周期的基础上,实现了音乐播放器和对对碰游戏两个Android应用程序,并在Android...
Android初级开发者:在本书指引下阅读代码,搭建系统开发环境,对于Android应用程序的开发者,重点关注后3章的内容。 Android中、高级开发者:通过本书的引导,学习系统架构,关注开发要点,并尽量使用手机系统...