文档章节

编译Android时,添加或者删除system.img中第三方apk、更改Android系统默认语

s
 sflfqx
发布于 2015/02/08 15:54
字数 514
阅读 1028
收藏 11

/********************************************************************************************
 * author:conowen@大 钟                                                                                                                          
 * E-mail:conowen@hotmail.com

 *site:http://www.idealpwr.com/  

 *深圳市动力思维科技发展有限公司                                                                                                         
 * http://blog.csdn.net/conowen                                                                                                              
 * 注:本文为原创,仅作为学习交流使用,转载请标明作者及出处。     

 ********************************************************************************************/



1、添加apk到system.img


1.1、添加第三方apk的package到system.img

首先把整个apk的源码包copy到\packages\apps,要注意代码中的layout文件夹中的XML不能有中文字样,否则会提示编码errors,编译不能通过,可以用@string的方法解决,这本来就是代码规范。

然后,编辑以下文档即可。

\build\target\product\generic_no_telephony.mk

或者

\build\target\product\generic.mk文件

依照情况而定

[java] view plaincopy在CODE上查看代码片派生到我的代码片

  1. PRODUCT_PACKAGES := \  

  2.     AccountAndSyncSettings \  

  3.     DeskClock \  

  4.     AlarmProvider \  

  5.     Bluetooth \  

  6.     Calculator \  

  7.     Calendar \  

  8.     Camera \  

  9.     CertInstaller \  

  10.     DrmProvider \  

  11.     Email \  

  12.     Gallery3D \  

  13.     LatinIME \  

  14.     Launcher2 \  

  15.     Mms \  

  16.     Music \  

  17.     Provision \  

  18.     Protips \  

  19.     QuickSearchBox \  

  20.     Settings \  

  21.     Sync \  

  22.     SystemUI \  

  23.     Updater \  

  24.     CalendarProvider \  

  25.     SyncProvider  


1.2、添加第三方apk到system.img


其实就是一个copy操作,把apk从某一个路径(如:packages/apk/ideal_apk路径下)copy到/system/app或者data/app的路径下面。然后系统编译到最后,再打包成system.img。


修改方法:

到相应机器的devices目录下找到一个有PRODUCT_COPY_FILES字眼的mk文件,添加自己的apk路径进去即可。

如tcc892X的SDK是以下文件

\device\telechips\tcc892x-common\device_tcc892x-common.mk

[java] view plaincopy在CODE上查看代码片派生到我的代码片

  1. PRODUCT_COPY_FILES += \  

  2.     packages/apk/ideal_apk/tv2.apk:system/app/tv2.apk \  

  3.     packages/apk/ideal_apk/ViewLog.apk:system/app/ViewLog.apk \  

  4.     packages/apk/ideal_apk/WeatherPro_2.2.1_liqucn.com.apk:system/app/WeatherPro_2.2.1_liqucn.com.apk \  

  5.     packages/apk/ideal_apk/Wol_Magic.apk:system/app/Wol_Magic.apk \  

  6.     packages/apk/ideal_apk/RockPlayer-universal-1.7.6.apk:system/app/RockPlayer-universal-1.7.6.apk \  

  7.     packages/apk/ideal_apk/VPlayer.apk:system/app/VPlayer.apk   


或者全志A13的方案如下

\android4.0\device\softwinner\nuclear-dds-t729\dds_t729.mk

[cpp] view plaincopy在CODE上查看代码片派生到我的代码片

  1. # pre-installed apks  

  2. PRODUCT_COPY_FILES += \  

  3.     $(call find-copy-subdir-files,*.apk,$(LOCAL_PATH)/apk,system/preinstall)  


这样就可以把apk目录下的apk文件copy到system/preinstall目录下,到时候系统初次开机时会把apk安装到userdata分区下。


2、更改Android系统默认语言

在\build\target\product目录,找到full_base.mk或者full.mk文件,

添加如下语句

中文:

[cpp] view plaincopy在CODE上查看代码片派生到我的代码片

  1. PRODUCT_LOCALES := zh_CN  

英文:

[cpp] view plaincopy在CODE上查看代码片派生到我的代码片

  1. PRODUCT_LOCALES := en_US  



如:

[cpp] view plaincopy在CODE上查看代码片派生到我的代码片

  1. # Overrides  

  2. PRODUCT_NAME := full  

  3. PRODUCT_BRAND := generic  

  4. PRODUCT_DEVICE := generic  

  5. PRODUCT_MODEL := Full Android  

  6. PRODUCT_LOCALES := zh_CN 


本文转载自:http://blog.csdn.net/conowen/article/details/7884335

s
粉丝 42
博文 202
码字总数 0
作品 0
深圳
高级程序员
私信 提问
加载中

评论(1)

易匆匆
有用
Android源码开发环境搭建

Android系统编译完成的结果全部在根目录的out目录中,原始的各个工程不会改动。 out/host 主机内容 out/target 目标机内容 out/target/common 目标机的通用内容 out/target/product 目标机的...

鉴客
2011/11/13
2.6K
2
编译android源代码以及ramdisk.img system.img userdata.i...

一、编译android 源码 参考 http://my.oschina.net/u/561492/blog/89965 编译完成后,可以在源码目录的out/target/product/generic/目录下看到编译好的ramdisk.img、system.img 和 userdata...

wangxigui
2012/11/19
549
0
Android_SDK模拟器的ROOT方法

11-12月份入手了N90,开始正式接触安卓系统,之前一直使用的塞班。总的感觉下来,安卓系统在手机上还是不错,对平板而言使用起来还是很牵强,软件虽然很多,但要玩转还是比较麻烦。目前我使用...

AlexZhuang
2012/04/12
2.1K
0
Android AOSP基础(三)Android系统源码的整编和单编

本文首发于微信公众号「刘望舒」 关联系列 Android AOSP基础系列 Android系统启动系列 应用进程启动系列 Android深入四大组件系列 Android深入理解Context系列 Android深入理解JNI系列 Andr...

刘望舒
05/16
0
0
制作可独立分发的 Android 模拟器

如果我们编写了一个Android应用程序,想在一台没有Android SDK或者BUILD环境的机器显示给别人看,应该怎么办呢?通常,我们开发Android应用程序的时候,都是使用模拟器来运行程序,要么是SDK...

鉴客
2011/10/17
465
2

没有更多内容

加载失败,请刷新页面

加载更多

rime设置为默认简体

转载 https://github.com/ModerRAS/ModerRAS.github.io/blob/master/_posts/2018-11-07-rime%E8%AE%BE%E7%BD%AE%E4%B8%BA%E9%BB%98%E8%AE%A4%E7%AE%80%E4%BD%93.md 写在开始 我的Arch Linux上......

zhenruyan
今天
5
0
简述TCP的流量控制与拥塞控制

1. TCP流量控制 流量控制就是让发送方的发送速率不要太快,要让接收方来的及接收。 原理是通过确认报文中窗口字段来控制发送方的发送速率,发送方的发送窗口大小不能超过接收方给出窗口大小。...

鏡花水月
今天
10
0
OSChina 周日乱弹 —— 别问,问就是没空

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @tom_tdhzz :#今日歌曲推荐# 分享容祖儿/彭羚的单曲《心淡》: 《心淡》- 容祖儿/彭羚 手机党少年们想听歌,请使劲儿戳(这里) @wqp0010 :周...

小小编辑
今天
1K
11
golang微服务框架go-micro 入门笔记2.1 micro工具之micro api

micro api micro 功能非常强大,本文将详细阐述micro api 命令行的功能 重要的事情说3次 本文全部代码https://idea.techidea8.com/open/idea.shtml?id=6 本文全部代码https://idea.techidea8....

非正式解决方案
今天
5
0
Spring Context 你真的懂了吗

今天介绍一下大家常见的一个单词 context 应该怎么去理解,正确的理解它有助于我们学习 spring 以及计算机系统中的其他知识。 1. context 是什么 我们经常在编程中见到 context 这个单词,当...

Java知其所以然
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部