原文件在:\vendor\..\package\DVR
打包apk在:\out\target\product\msm8953_64\system\app\DVR
?
项目放进系统中编译前提是APP 本身已能正常在对应系统中使用了,只是现在需要用mmm编译到系统包中
?
先用android studioMake project成功后,Clean Project项目,清除不用的内容
然后把项目整个复制到\vendor\..\package\下
进入项目根目录,新建一个android.mk文件
android.mk语法请自行百度
以下是本项目,需要引用v7支持,第三方jar包,aar文件和so库文件
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
# ------- alex --------------1-------------
# support包的根目录,因为编译时我们只能引用来自于framework的support包
support_library_root_dir := frameworks/support
# 是否开启混淆
LOCAL_PROGUARD_ENABLED := disabled
# 设置src
LOCAL_SRC_FILES := $(call all-java-files-under,app/src)
# 指定 res 目录
LOCAL_RESOURCE_DIR := $(addprefix $(LOCAL_PATH)/, app/src/main/res) \
$(support_library_root_dir)/v7/appcompat/res
# 指定Manifest文件 不能写成$(LOCAL_PATH)/app/src/main/AndroidManifest.xml
LOCAL_MANIFEST_FILE := app/src/main/AndroidManifest.xml
# 重复资源自动覆盖 不然会报 Resource at AppTheme appears in overlay but not in the base package; use <add-resource> to add
LOCAL_AAPT_FLAGS := --auto-add-overlay \
--extra-packages android.support.v7.appcompat
#LOCAL_STATIC_ANDROID_LIBRARIES := \
# android-support-compat \
# android-support-v4 \
# android-support-v7-appcompat
# 依赖包
LOCAL_STATIC_JAVA_LIBRARIES := \
android-common \
android-support-v4 \
android-support-v7-appcompat \
gson-2.7 \
reactive-streams \
rxandroid \
rxjava-2.2.1
# 依赖库,aar
LOCAL_STATIC_JAVA_AAR_LIBRARIES := qcar_encoder
# 依赖so库文件
LOCAL_PREBUILT_JNI_LIBS := \
app/libs/arm64-v8a/libmmqcar_ais_client.so \
app/libs/arm64-v8a/libmmqcar_qcar_jni.so \
app/libs/arm64-v8a/libqcaraudiorecorder.so \
app/libs/arm64-v8a/libqcarimageprocess.so \
app/libs/arm64-v8a/libqcarlibyuv.so \
app/libs/arm64-v8a/libqcarmdvxread.so \
app/libs/arm64-v8a/libqcarmdvxwrite.so \
app/libs/arm64-v8a/libqcarosd.so \
app/libs/arm64-v8a/libqcarprotobbtrp.so
LOCAL_MODULE_TAGS := optional
#放开这个,打包不报错,但闪退
LOCAL_USE_AAPT2 := true
# -------------------- end1 -----------------------------
LOCAL_PACKAGE_NAME := DVR
LOCAL_PRIVATE_PLATFORM_APIS := true
LOCAL_CERTIFICATE := platform
LOCAL_DEX_PREOPT := false
include $(BUILD_PACKAGE)
# ------- alex --------------2-------------
include $(CLEAR_VARS)
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := gson-2.7:app/libs/gson-2.7.jar \
reactive-streams:app/libs/jar/reactive-streams-1.0.2.jar \
rxandroid:app/libs/jar/rxandroid.jar \
rxjava-2.2.1:app/libs/jar/rxjava-2.2.1.jar
# 构建依赖的aar
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES += qcar_encoder:app/libs/qcar_encoder.aar
include $(BUILD_MULTI_PREBUILT)
# -------------------- end2 -----------------------------
# Use the following include to make our test apk.
include $(call all-makefiles-under,$(LOCAL_PATH))
?
?
其间遇到的问题
https://blog.csdn.net/m0_37622302/article/details/115519255
https://blog.csdn.net/m0_37622302/article/details/115519731
https://blog.csdn.net/m0_37622302/article/details/115519877
https://blog.csdn.net/m0_37622302/article/details/115520128
https://blog.csdn.net/m0_37622302/article/details/115520330
全部解决完后,激动的我想喝一杯,终于搞定android.mk,千言万语一句话感恩前辈在网络中的分享,
参考:
https://www.jianshu.com/p/511a8247c859
https://www.jianshu.com/p/63715928063b
?
感觉对您有用或有启发的麻烦点个赞,感谢!
?
本文分享自华为云社区《 架构可视化支撑系统演进探索 》原文作者无名小溪。 随着...
ajax传送json格式数据,关键是指定contentType,data要是json格式 如果是restful...
如果你想对使用手机,平板电脑和辅助技术的用户隐藏某些内容,而只对键盘用户显...
Eval 计算一个表达式的值并返回结果。 语法:[result = ]eval_r(expression_r) e...
今天给大家分享四个在实际开发中,比较实用的SQL Server脚本函数,希望对大家能...
Afrikaans:af Albanian:sq Basque:eu Belarusian:be Bulgarian:bg Catalan:ca Ch...
一、导读 本文主要介绍Redhat7.6系统安装oracle 12201版本RAC的一些坑以及避坑方...
最近在和团队规划OKR目标的时候,我们讨论了很多问题,我先抛砖引玉,列举了一些...
一. RabbitMQ 简介 MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用...
Linux 发行版的爱好者们又有全新的 Linux 可以体验了,日前一款名为 TeLOS 的 Li...