如何在Android系统中集成第三方软件

本文详细介绍了在Android系统中集成第三方应用(如Facebook)的三种方法,包括直接放入系统目录、使用Android.mk文件预编译、以及特殊情况下使用的数据分区添加方法,并讨论了每种方法的优缺点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们经常碰到要求将三方软件集成到系统的要求,比如将FaceBook集成到系统中。经过在网上查找资料和平常搜集,有三种方式可以达到这种效果,下面以FaceBook的集成为例。


1. 将apk文件放入vendor\mediatek\${project_dir}\artifacts\out\target\product\${project_dir}\system\app中,当然放入之前先用rar打开这个apk文件看看里面是否有lib文件夹,里面是否有so库文件,如果有的话就放入vendor\mediatek\${project_dir}\artifacts\out\target\product\${project_dir}\system\lib文件夹里面。否则当编译完系统编译该程序的时候就会出现强制终止的错误。
弊端:会造成系统对这些apk进行二次签名,导致新版的facebook不能安装,提示签名错误。


2. 将apk放入packages/apps/FaceBook下面.同时在FaceBook文件夹下面建立一个Android.mk文件。文件内容如下:

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
# Module name should match apk name to be installed
LOCAL_MODULE := Facebook
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_CERTIFICATE := PRESIGNED
include $(BUILD_PREBUILT)



这个PRESIGNED表示这个apk已经签过名了,系统不需要再次签名。
注意这个模块名必须跟文件夹名称还有apk名称保持一致。同时还需要修改build\target\product\common.mk.添加如下:
PRODUCT_PACKAGES := \
    AccountAndSyncSettings \
    AlarmProvider \
    FaceBook \


3. 方法3比较繁琐且容易导致一些错误,不过当添加一些程序前面两个都有错误的时候也可以做一个尝试。
    方法3类似将开关机动画或者铃声的添加类似,就是将这些apk文件push到data/app分区下面,而不是像上面两个方法一样放到system/app分区下面。
将apk文件拷贝入:\frameworks\base\data\sounds\data\app文件夹下面。修改Android.mk文件,添加:PRODUCT_COPY_FILES += \
    $(LOCAL_PATH)/data/app/FaceBook.apk:data/app/FaceBook.apk
通过这个方法添加的似乎有一些apk不能使用,不清楚是什么原因,如果有知道的大神,请一定不吝赐教。后续有新的更新,在修改此文,方便大家分享。


参考文献:

http://blog.sina.com.cn/s/blog_572dea1a01012ujl.html





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值