我有一个带有捆绑本机库的 APK 文件。当我使用 adb 安装它们时,库会在 <path-to_package>/lib/ 中正确创建,但我必须将我的 apk 与 Android.mk 文件一起集成到构建系统中。我需要在 make 中添加什么才能将库提取到目标上
问问题
1548 次
2 回答
0
您可以在 AOSP 中找到一个示例,例如在external/chromium-webview
项目中:
- 使用
Android.mk
(过时):https ://android.googlesource.com/platform/external/chromium-webview/+/refs/heads/android10-d4-release/Android.mk - 使用
Android.bp
:https ://android.googlesource.com/platform/external/chromium-webview/+/refs/heads/master/Android.bp 。
在 SO 上还讨论了一些相关主题:
于 2020-11-09T20:58:06.457 回答
0
如果您有库,则复制库并在 aosp_source/external/yourlibfolder 中创建一个文件夹并将您的库粘贴到那里。
转到 build/target/product 并在每个库的相关 make 文件(例如 handhel_system.mk)中编写此代码。将 yourlibname 替换为每个库名称
external/yourlibfolder/yourlibname.so:system/lib/yourlibname.so \
external/yourlibfolder/yourlibname.so:system/lib64/yourlibname.so \
- 它将在 AOSP 中添加应用程序依赖库。现在,当您在 AOSP 中添加预构建的 apk 时,它就可以工作了
在 packages/app/yourappfolder 中创建一个文件夹并粘贴 APK 并在那里制作文件
这应该是你的 make 文件
# Adding Apk as system app in AOSP
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := Appname # It should be your apk name, and folder name should also be same
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_SUFFIX := .apk
LOCAL_MODULE_CLASS := APPS
LOCAL_CERTIFICATE := platform
include $(BUILD_PREBUILT)
于 2020-11-10T10:37:29.563 回答