Firefly开源社区

标题: Android添加第三方应用 [打印本页]

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

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

  2. # 添加remote for remoteservice
  3. PRODUCT_PACKAGES += \
  4.           DLNARemoteService

  5. 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
我在device/rockchip/rksdk/device.mk中添加include vendor/google/products/gms-mini.mk 会编译报错,
build/core/product_config.mk:227: *** _nic.PRODUCTS.[[device/rockchip/rk3288/rk3288.mk]]: "device/sample/products/location_overlay.mk" does not exist。 停止。   
请问有没有碰过呢
作者: citee520    时间: 2016-7-11 00:27
您好~~~
我依照您的方式成功加入了APK~~
但是這個APK不能使用~~~
開啟APK後輸入相關的資料後送出
console會出現一些錯誤
該方式好像不是正常安裝
在/system/apps/裡會有正常的APK~~
但不是安裝完的結果
作者: citee520    时间: 2016-7-11 01:54
找到原因了~~~因為沒有把該APK所需的.SO放到lib中
造成它無法對應到而產生的錯誤
該問題已解決~~~
作者: Younix    时间: 2017-12-28 15:06
请问一下,如何删除原生的 App 呢?
比如我希望不要编译 Music App ,应该如何删除呢?谢谢。
作者: xiaozhu    时间: 2018-1-6 10:27
Younix 发表于 2017-12-28 15:06
请问一下,如何删除原生的 App 呢?
比如我希望不要编译 Music App ,应该如何删除呢?谢谢。

找到它的源码目录  修改下Android.mk  让它不编译  就OK啦  顺便删除下out/..../app/下相应的APK就OK啦




欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1