转载:
http://ywxiao66.blog.163.com/blog/static/175482055201152710441106/
------------------------------------------------------------------
把常用的应用程序编译到img文件中,就成了系统的一部分,用户不必自己安装,当然也卸载不了;
同时也可以删减系统自带的应用程序,精简系统;
1.\build\target\product 目录下generic.mk文件:
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文件。
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\product\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 $(module_id)
#$(error $(LOCAL_PATH): $(module_id) already defined by $($(module_id)))
endif
$(module_id) := $(LOCAL_PATH)
--重新编译,这时可以通过了。
(2)、删除原厂(Telchips)带源码的应用程序,如DTV_DVBT
在/device/telechips/m801/device.mk
注释掉相应语句:
# PRODUCT_PACKAGES += \
# SampleDVBTPlayer \
同时,在/out/target/product/m801/system/app 找到相应的.APK包,并删除
分享到:
相关推荐
【Android应用源码安卓应用市场app商店源码.zip】是一个包含Android应用开发相关源代码的压缩包,专门针对安卓应用市场和app商店的实现。这个压缩包可能包含了用于创建一个自定义应用程序分发平台的所有必要组件,让...
在Android开发领域,了解App反编译技术是至关重要的,特别是在安全分析、代码逆向工程以及漏洞检测等方面。本文将详细探讨Android App反编译软件的相关知识点,包括其原理、工具以及如何进行反编译。 首先,让我们...
本资源提供的"android应用程序锁APP源码"是一个实现这一功能的实例,可以帮助开发者深入理解如何在Android系统中实现这样的安全机制。 源码分析: 1. **主活动(MainActivity)**:这是应用程序锁的核心部分,通常...
* res/layout/main.xml:App 主窗体布局文件,定义应用程序的界面布局 * res/values/strings.xml:字符串资源文件,存放应用程序调用的各种字符串 * src/com/example/helloandroid/MyActivity.java:主程序类,实现...
这篇文章将逐步揭示Android应用程序背后的设计思想,从基本的 APK 文件结构到更复杂的系统组件和编程模型。 首先,让我们深入了解 APK 文件。APK 是 Android 应用程序的基本打包格式,实质上是一个被压缩的 ZIP ...
集成nginx到Android应用中,需要深入理解Android的系统架构、进程管理和网络编程,同时也需要对nginx的配置和操作有一定的了解。尽管过程较为复杂,但完成后的解决方案能为本地应用带来更灵活的服务能力。在实际开发...
【标题】"在线编译IOS/Android app"揭示了这个项目的核心功能,即提供一个平台,用户可以在浏览器中直接编译适用于iOS和Android操作系统的应用程序。这种服务通常基于云端技术,利用服务器端的强大计算能力,使得...
WebView是Android系统中的一个核心组件,用于在应用程序内部展示网页内容,许多APP都会依赖这个内置的浏览器内核来加载网页。当使用AOSP编译的系统时,可能会发现一些APP在尝试使用系统内置的WebView加载网页时出现...
这个过程涉及多个步骤,包括创建应用程序、编译、签名以及打包到Android系统映像中。以下是一个简化的流程,用于在Android源码中添加一个最简单的系统应用DEMO。 1. **创建一个新的Android项目** 首先,你需要使用...
使用Lazarus,开发者可以在一个平台上编写代码,然后将其编译为其他平台的应用程序,包括Android。这对于多平台部署来说非常高效。 4. **Android SDK集成**:Lazarus集成了Android SDK,允许开发者无需离开IDE就能...
例如,要编译 Email 应用程序,我们可以使用以下命令: USER-NAME@MACHINE-NAME:~/Android$ mmm packages/apps/Email/ 编译完成之后,我们可以在 out/target/product/generic/system/app 目录下看到 Email.apk ...
Launcher是用户与Android系统交互的主要界面,它管理应用程序快捷方式、小部件和其他桌面元素。"源码修改可编译"意味着这份资料包含了已经做过调整,能够成功编译的Launcher源代码,适合开发者学习和定制自己的启动...
【基于Android Studio开发的安卓通讯录管理App】是一款利用谷歌提供的Android Studio集成开发环境构建的应用程序,它专注于管理和操作用户的联系人数据。该应用涵盖了多种关键功能,包括新增联系人、编辑现有联系人...
Dalvik 是 Android 操作系统中的虚拟机字节码格式,所有 Android 应用程序都需要将 Java 代码编译成 Dalvik 字节码格式才可以在 Android 设备上运行。 什么是 Dalvik 文件? Dalvik 文件是一种特殊的字节码格式,...
首先,我们需要了解的是,Android应用程序主要由Java或Kotlin编写,并通过Android Studio进行编译。编译后的APK文件包含Dalvik字节码或ART(Android RunTime)格式的机器码,这使得通过反编译工具如dex2jar、JD-GUI...
STM32 RFID Android 应用程序是一个开源项目,旨在为基于STM32微控制器的RFID(射频识别)系统提供一个与安卓设备交互的应用。STM32是意法半导体公司(STMicroelectronics)推出的一系列高性能、低功耗的微控制器,...
使用 mmm 命令来编译指定的模块,例如 Email 应用程序。编译完成之后,就可以在 out/target/product/generic/system/app 目录下看到 Email.apk 文件了。Android 系统自带的 App 都放在这具目录下。另外,Android ...
在Android开发过程中,将应用程序编译为Release版本是发布应用到Google Play Store或其他第三方市场前的重要步骤。Release版本不仅包含了优化和调试后的代码,还包含了必要的签名和优化,以确保应用的安全性和性能。...
【Android应用源码酒店在线预定app项目全套】是一款完整的Android应用程序开发项目,专注于实现酒店预订功能。这个项目为开发者提供了一整套源代码,有助于学习和理解如何在Android平台上构建类似的应用程序。以下是...
首先,`uni-app` 是一个由ECharts团队维护的开源框架,它允许开发者使用一套代码编写应用,然后可以发布到多个平台,包括微信小程序、H5、iOS、Android等。uni-app通过抽象不同的平台特性,提供了一套统一的API,...