做好网站建设静态化/seo网络优化是做什么的
android9系统android studio项目改成用android.mk编译引用v7包第三方jar包,aar文件和so库文件
原文件在:\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.soLOCAL_MODULE_TAGS := optional
#放开这个,打包不报错,但闪退
LOCAL_USE_AAPT2 := true
# -------------------- end1 -----------------------------LOCAL_PACKAGE_NAME := DVR
LOCAL_PRIVATE_PLATFORM_APIS := true
LOCAL_CERTIFICATE := platformLOCAL_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.aarinclude $(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
感觉对您有用或有启发的麻烦点个赞,感谢!