[英]How do I integrate a system app on Android 9
我一直在使用 Android 9 的調試板上創建系統應用程序。
使用 ServiceManager 的應用程序和依賴的 JAR 看起來構建成功。
但是,寫完system.img並重啟后,
設備自動關閉並轉換到 Android 恢復屏幕。
我必須做什么才能在 Android 9 上正確構建系統應用程序?
我的應用程序是這樣的。
/system/priv-app/SampServiceApp/SampServiceApp.apk, /oat
/system/framework/com.android.sampservice.jar, /oat
/system/etc/permissions/com.android.sampservice.xml
幾乎和這個例子一樣。 (如果可能,我不想使用 system_server)
https://devrea.com/aosp-creating-a-system-service/
但是,唯一的區別是……
在“LOCAL_SDK_VERSION”中添加了“LOCAL_PRIVATE_PLATFORM_APIS”
在 Android.mk 中用於 SampServiceApp.apk(編譯和鏈接成功)
# LOCAL_SDK_VERSION := current
LOCAL_PRIVATE_PLATFORM_APIS := true
而且,我嘗試更新這個 xml。 ( https://source.android.google.cn/devices/tech/config/perms-whitelist )
/etc/permissions/privapp-permissions-platform.xml
但是,這個 python 腳本 output 沒有條目。
$ development/tools/privapp_permissions/privapp_permissions.py
↓↓ the result
<?xml version="1.0" encoding="utf-8"?>
<permissions>
</permissions>
預先感謝您的合作。
好的,要構建類似系統的應用程序,您應該: 定義 mk 文件。 它應該是這樣的:
include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(call all-java-files-under, app/src/main/java) $(call all-Iaidl-files-under, app/src/main/aidl)
LOCAL_AIDL_INCLUDES := \
$(LOCAL_PATH)/app/src/main/aidl \
$(CAR_BROADCASTRADIO_SUPPORTLIB_PATH)/src
LOCAL_PACKAGE_NAME := YOUR_MODULE_NAME
LOCAL_OVERRIDES_PACKAGES := IF YOU OVERRIDE AOSP PACKAGE
LOCAL_PRIVATE_PLATFORM_APIS := true
LOCAL_CERTIFICATE := platform
LOCAL_MANIFEST_FILE := /app/src/main/AndroidManifest.xml
LOCAL_PROGUARD_ENABLED := disabled
LOCAL_DEX_PREOPT := false
include $(BUILD_PACKAGE)
include $(CLEAR_VARS)
當然,您可以使用 bp 文件代替 mk。
/etc/permissions/privapp-permissions-platform.xml
該文件僅涉及權限。 在這里,您可以定義您的應用程序可能需要的任何權限。 您可以為您的應用程序定義自己的清單,但不要忘記將其包含在構建中。
撞車怎么辦。 這是一種非常奇怪的行為。 你能分享一下 dmesg 和 logcat 嗎?
我必須做兩件事。
禁用預優化
我不知道為什么它會導致崩潰。
LOCAL_DEX_PREOPT:= 假
設置 sepolicy
在“public/servicemanager.te”中添加規則對我不起作用。
我的解決方案如下。
設備/制造商/設備名稱/sepolicy/system_app.te
allow system_app my_service:service_manager add;
其他政策與本例相同。
https://devrea.com/aosp-creating-a-system-service/#.XxEndSj7SUk
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.