linjc 发表于 2016-1-12 18:06:08

Android添加第三方应用

本帖子以firefly官方SDK自带的apk为例,简单介绍如何添加第三方应用
在sdk中发现这个目录:vendor/firefly/firefly_assistant这应该就是firefly官方自己添加的apk了,那就以这个为例。
其过程应该是这样的:
1.在vendor下面创建一个目录,如:vendor/firefly/firefly_assistant
2.把apk及相关库文件放入该目录,如:DLNARemoteService.apklibtchip-vinit.so
3.创建一个Android.mk文件:vendor/firefly/firefly_assistant/Android.mk
内容为:
LOCAL_PATH := $(my-dir)

include $(CLEAR_VARS)
LOCAL_MODULE := DLNARemoteService
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_PATH := $(TARGET_OUT_APPS)
LOCAL_SRC_FILES := $(LOCAL_MODULE)$(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_CERTIFICATE := PRESIGNED
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
include $(BUILD_PREBUILT)说明:
LOCAL_MODULE := DLNARemoteService apk的名字
LOCAL_MODULE_PATH := $(TARGET_OUT_APPS) 表示编译后apk在/system/app/目录下
4.创建一个mk文件,如:vendor/firefly/firefly_assistant.mk
CUR_PATH := vendor/firefly/                                                                                                                                             

# 添加remote for remoteservice
PRODUCT_PACKAGES += \
          DLNARemoteService

PRODUCT_COPY_FILES +=$(CUR_PATH)/firefly_assistant/libtchip-vinit.so:system/lib/libtchip-vinit.so
说明:
PRODUCT_PACKAGES 后接apk名字
PRODUCT_COPY_FILES 后接库文件的路径,从哪里拷贝到哪里
5.在device/rockchip/rksdk/device.mk中添加:include vendor/firefly/firefly_assistant.mk


编译后的位置:out/target/product/rk3288/system/app/DLNARemoteService.apk


注:本人并非专业做上层的,只是简单分析,如有错误,欢迎指出,谢谢!:)

tim@elclcd.com 发表于 2016-4-20 09:14:46

我在device/rockchip/rksdk/device.mk中添加include vendor/google/products/gms-mini.mk 会编译报错,
build/core/product_config.mk:227: *** _nic.PRODUCTS.[]: "device/sample/products/location_overlay.mk" does not exist。 停止。   
请问有没有碰过呢

citee520 发表于 2016-7-11 00:27:33

您好~~~
我依照您的方式成功加入了APK~~
但是這個APK不能使用~~~
開啟APK後輸入相關的資料後送出
console會出現一些錯誤
該方式好像不是正常安裝
在/system/apps/裡會有正常的APK~~
但不是安裝完的結果

citee520 发表于 2016-7-11 01:54:25

找到原因了~~~因為沒有把該APK所需的.SO放到lib中
造成它無法對應到而產生的錯誤
該問題已解決~~~

Younix 发表于 2017-12-28 15:06:22

请问一下,如何删除原生的 App 呢?
比如我希望不要编译 Music App ,应该如何删除呢?谢谢。

xiaozhu 发表于 2018-1-6 10:27:57

Younix 发表于 2017-12-28 15:06
请问一下,如何删除原生的 App 呢?
比如我希望不要编译 Music App ,应该如何删除呢?谢谢。

找到它的源码目录修改下Android.mk让它不编译就OK啦顺便删除下out/..../app/下相应的APK就OK啦
页: [1]
查看完整版本: Android添加第三方应用