当前位置:首页 » 编程软件 » 安卓系统程序编译

安卓系统程序编译

发布时间: 2022-03-06 09:22:01

❶ 如何把应用程序编译进android系统

把常用的应用程序编译到img文件中,就成了系统的一部分,用户不必自己安装,当然也卸载不了;
同时也可以删减系统自带的应用程序,精简系统;

1.\build\target\proct 目录下generic.mk文件:
java代码 收藏代码
PRODUCT_PACKAGES := \
AccountAndSyncSettings \
DeskClock \
AlarmProvider \
Bluetooth \
Calculator \
Calendar \
Camera \
testMid \
CertInstaller \
DrmProvider \
Email \
Gallery3D \
LatinIME \
Launcher2 \
Mms \
Music \

我们添加一个testMid \ 应用名称。
2.把testMid包放入
\packages\apps 目录下,修改android.mk文件。

Java代码 收藏代码
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(call all-subdir-java-files)
LOCAL_PACKAGE_NAME := testMid
LOCAL_CERTIFICATE := platform

include $(BUILD_PACKAGE)

注:LOCAL_PACKAGE_NAME := testMid (包名必须和generic.mk中添加的相同)
编译源码,可以看到在
\out\target\proct\smdkv210\system\app
目录下生存了testMid.apk了。这时system.img也包含了此应用。
-------------------------------------------------------------------
特殊情况:有时,应用需要包含jar包,这时的app导入源码时会出现问题:
MODULE.TARGET.JAVA_LIBRARIES.libarity already defined by ... stop

由于 LOCAL_STATIC_JAVA_LIBRARIES := libarity 会引发错误信息。
目前解决方法是:
\build\core 目录下修改base_rules.mk
注释掉错误信息:

ifdef $(mole_id)
#$(error $(LOCAL_PATH): $(mole_id) already defined by $($(mole_id)))
endif
$(mole_id) := $(LOCAL_PATH)

--重新编译,这时可以通过了。

(2)、删除原厂(Telchips)带源码的应用程序,如DTV_DVBT
在/device/telechips/m801/device.mk
注释掉相应语句:
# PRODUCT_PACKAGES += \
# SampleDVBTPlayer \
同时,在/out/target/proct/m801/system/app 找到相应的.APK包,并删除。

❷ 如何单独编译安卓系统源码指定模块

例如:你不想编译music进image中,你就在该文件里PRODUCT_PACKAGES:=这一项下的Music删除就可以了同理,你想把自己的app编译进image中,你先写好编译用的Android.mk文件,然后去到上面所说的文件里在PRODUCT_PACKAGES:=这一项添加对应的app包名一般来说,只要改这么一个文件就足够了。但是如果以上编译后发现还是编译到了image里面,那么它很有可能是一个已经编译好的apk文件预装到image里面去了,也是以我的sdk为例,进入device/产品目录/common/apk下看看有没有.apk文件,我的sdk里面这个目录下的.apk文件是全部预装到system/app里面的还有一个目录:/device/产品目录/common/preinstallapk这个目录里的apk也是预装到image里面去,只是并不是预装到system/app而已也就是说,你还要看看你不想编译进image里的app是不是预装进去,如果是预装进去的话,只要在对应目录下把该apk文件删除了就好了希望这些能帮到你!

❸ 安卓系统是用什么语言编的

安卓系统的编程语言,C/C++(底层) Java等(应用层)。

1、Android是一种基于Linux的自由及开放源代码的操作系统。主要使用于移动设备,如智能手机和平板电脑,由Google(谷歌)公司和开放手机联盟领导及开发。

2、尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android操作系统最初由Andy Rubin开发,主要支持手机。

(3)安卓系统程序编译扩展阅读:

1、Android在运行一个程序时首先需要UnZip,然后类似Symbian那样直接执行安装,和Windows Mobile中的PE文件有区别。

2、这样做对于程序的保密性和可靠性不是很高,通过dexmp命令可以反编译,但这样做符合发展规律,微软的 Windows Gadgets或者说WPF也采用了这种构架方式。

3、在Android平台中dalvik vm的执行文件被打包为apk格式,最终运行时加载器会解压然后获取编译后androidmanifest.xml文件中的permission分支相关的安全访问,但仍然存在很多安全限制,如果你将apk文件传到/system/app文件夹下会发现执行是不受限制的。

4、最终我们平时安装的文件可能不是这个文件夹,而在android rom中系统的apk文件默认会放入这个文件夹,它们拥有着root权限。

❹ 如何编译一个精简的Android系统

本次试验使用的android源码是4.2,编译的架构是mini-mips。

一、所做的工作
1、修改build/target/proct/mini.mk,去掉一些不必要的模块(例如Phone、DownloadManager等)
2、修改SystemServer.java,屏蔽一些service,让系统能够启动起来(例如,Location Manager、Telephony Registry)
3、修改dalvik/vm/native/dalvik_system_Zygote.cpp,注释掉因为检查不到外部存储而导致dalvik abort的地方 (这是googel的一个bug,在2013年1月份已解决,如果用这以后的代码不用修改此处)
4、修改WindowManagerService.java,把发送BOOT_TIMEOUT消息的时间改为0(之前为30秒)

二、系统优化后的效果(验证工作均在mips模拟器上进行)
1、节省运行内存,下面是全编译与mini编译的内存使用状态的对比
1)full build
MemTotal: 499360 kB
MemFree: 242064 kB
2)mini build
MemTotal: 499360 kB
MemFree: 395192 kB

2、缩短开机启动时间
在虚拟机上的启动时间
1)full build-29秒
2)mini build-14秒

3、只启动home程序,其余的应用程序均被移除

三、保留android的开发环境
1、adb,ddms,apkinstall等,都能正常工作
2、在eclipse中编写的android应用程序能够运行在该mini-android之上

四、开机自动启动指定应用程序
本次测试使用Gallery.apk应用程序,修改其源码后可以实现随系统的启动而自动启动的功能。

❺ 如何把应用程序app编译进android系统

把常用的应用程序编译到img文件中,就成了系统的一部分,用户不必自己安装,当然也卸载不了;
同时也可以删减系统自带的应用程序,精简系统;
1.\build\target\proct
目录下generic.mk文件:
Java代码
收藏代码
PRODUCT_PACKAGES
:=
\
AccountAndSyncSettings
\
DeskClock
\
AlarmProvider
\
Bluetooth
\
Calculator
\
Calendar
\
Camera
\
testMid
\
CertInstaller
\
DrmProvider
\
Email
\
Gallery3D
\
LatinIME
\
Launcher2
\
Mms
\
Music
\
我们添加一个testMid
\
应用名称。
2.把testMid包放入
\packages\apps
目录下,修改android.mk文件。
Java代码
收藏代码
LOCAL_PATH:=
$(call
my-dir)
include
$(CLEAR_VARS)
LOCAL_MODULE_TAGS
:=
optional
LOCAL_SRC_FILES
:=
$(call
all-subdir-java-files)
LOCAL_PACKAGE_NAME
:=
testMid
LOCAL_CERTIFICATE
:=
platform
include
$(BUILD_PACKAGE)
注:LOCAL_PACKAGE_NAME
:=
testMid
(包名必须和generic.mk中添加的相同)
编译源码,可以看到在
\out\target\proct\smdkv210\system\app
目录下生存了testMid.apk了。这时system.img也包含了此应用。
-------------------------------------------------------------------
特殊情况:有时,应用需要包含jar包,这时的app导入源码时会出现问题:
MODULE.TARGET.JAVA_LIBRARIES.libarity
already
defined
by
...
stop
由于
LOCAL_STATIC_JAVA_LIBRARIES
:=
libarity
会引发错误信息。
目前解决方法是:
\build\core
目录下修改base_rules.mk
注释掉错误信息:
ifdef
$(mole_id)
#$(error
$(LOCAL_PATH):
$(mole_id)
already
defined
by
$($(mole_id)))
endif
$(mole_id)
:=
$(LOCAL_PATH)
--重新编译,这时可以通过了。
(2)、删除原厂(Telchips)带源码的应用程序,如DTV_DVBT
在/device/telechips/m801/device.mk
注释掉相应语句:
#
PRODUCT_PACKAGES
+=
\
#
SampleDVBTPlayer
\
同时,在/out/target/proct/m801/system/app
找到相应的.APK包,并删除

❻ 安卓系统可以直接编译和运行JAVA文件吗需要怎么安装环境

安卓软件的开发,许Java的环境呢
需要你会编程和Java,然后可以在应用宝上面下载一个开发的教程
应用宝里面的资源很多,除了有大量的APP应用可以免费下载
还有很多软件开发的教程和攻略呢,都是很不错的,免费下载呢
在手机上打开应用宝软件搜索你所需要的教程,找到下载就可以了。
也可以通过手机连接电脑端的应用宝软件来下载的,打开PC端的应用宝软件——手机应用。
可以通过搜索你所需要的开发教程进行下载呢,都是很方便的。还望采纳

❼ 安卓系统的软件怎么制作和怎么编辑

制作?你首先得懂c和c+等编程语言,电脑上搭建java环境,反正很麻烦就是了,随便就想制作是不可能的。手机上也可以制作和编辑,同样的需要懂编程语言,软件有很多:aide可以编写程序,一般的修改编辑别人的软件直接解包想怎么改怎么改前。提你是知道怎么改

❽ 如何在安卓系统下构建c++编译环境

这个有点难,现在安卓能用的(我知道的)只有一个软件C4droid可以在android系统中编译c/c++:

编译界面:

❾ 有手机的源代码,如何编译安卓4.4的系统

代码编译…
恐怕这个不是随随便便在这里几句话就能说明白的…
首先要下载安卓4.4的内核,
然后要把厂商的手机源代码编译进去,
还要自己写脚本
很多都是很技术的活。
lz确定能hold住么?

热点内容
安卓双击锁屏如何设置 发布:2025-01-20 23:56:52 浏览:201
拉链压缩袋 发布:2025-01-20 23:55:16 浏览:685
少儿编程多少钱一节课 发布:2025-01-20 23:53:46 浏览:939
政府网站登录密码是什么意思 发布:2025-01-20 23:53:09 浏览:188
pythonwin26 发布:2025-01-20 23:37:00 浏览:502
国外哪些同款同配置车比国内贵 发布:2025-01-20 23:32:55 浏览:994
汇编为什么少编译了一条语句 发布:2025-01-20 23:30:57 浏览:146
服务器内存不够电脑会怎么样 发布:2025-01-20 23:10:35 浏览:209
discuz图片上传失败 发布:2025-01-20 22:59:55 浏览:95
c语言函数分为 发布:2025-01-20 22:59:42 浏览:535