I want add different default launcher in my AOSP A11 builds. I have a selfbuild apk which is located in /prebuilts/prebuitapks. I hav ecreated a android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE := Peace-Launcher
LOCAL_CERTIFICATE := platform
LOCAL_SRC_FILES := Peace-Launcher.apk
LOCAL_MODULE_CLASS := APPS
LOCAL_PRIVILEGED_MODULE := true
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := privapp-permissions-com.harvey186.peace.dev.xml
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/permissions
LOCAL_SRC_FILES := $(LOCAL_MODULE)
include $(BUILD_PREBUILT)
and a permission.xml
<?xml version="1.0" encoding="utf-8"?>
<permissions>
<privapp-permissions package="com.harvey186.peace.dev">
<permission name="android.permission.WRITE_SYNC_SETTINGS" />
<permission name="android.permission.READ_SYNC_SETTINGS" />
<permission name="android.permission.WRITE_SETTINGS" />
<permission name="android.permission.ACCESS_NETWORK_STATE" />
<permission name="android.permission.ACCESS_WIFI_STATE" />
<permission name="android.permission.BLUETOOTH" />
<permission name="android.permission.BLUETOOTH_ADMIN" />
<permission name="android.permission.CALL_PHONE" />
<permission name="android.permission.SET_WALLPAPER" />
<permission name="android.permission.SET_WALLPAPER_HINTS" />
<permission name="android.permission.BIND_APPWIDGET" />
<permission name="android.permission.READ_EXTERNAL_STORAGE" />
<permission name="android.permission.RECEIVE_BOOT_COMPLETED" />
<permission name="android.permission.REQUEST_DELETE_PACKAGES" />
<permission name="android.permission.READ_DEVICE_CONFIG" />
<permission name="android.permission.QUERY_ALL_PACKAGES" />
<permission name="android.permission.MANAGE_DOCUMENTS" />
<permission name="android.permission.READ_EXTERNAL_STORAGE"/>
<permission name="android.permission.WRITE_EXTERNAL_STORAGE"/>
</privapp-permissions>
</permission>
but after building/flashing/booting the app sill has none of these permissions. But it is needed that the app has access to 'files and media'
What am I doing wrong ?
android.permission.READ_EXTERNAL_STORAGE and android.permission.WRITE_EXTERNAL_STORAGE are runtime permissions.
You should grant runtime permission like this:
<exceptions>
<exception
package="com.google.android.apps.pixelmigrate">
<!-- External storage -->
<permission name="android.permission.READ_EXTERNAL_STORAGE" fixed="false"/>
<permission name="android.permission.WRITE_EXTERNAL_STORAGE" fixed="false"/>
<!-- Contacts -->
<permission name="android.permission.READ_CONTACTS" fixed="false"/>
<permission name="android.permission.WRITE_CONTACTS" fixed="false"/>
<!-- Call logs -->
<permission name="android.permission.READ_CALL_LOG" fixed="false"/>
<permission name="android.permission.WRITE_CALL_LOG" fixed="false"/>
<!-- SMS -->
<permission name="android.permission.RECEIVE_SMS" fixed="false"/>
<permission name="android.permission.READ_PHONE_NUMBERS" fixed="false"/>
</exception>
</exceptions>
privapp-permissions is used for installed privileged permission. They are different.