diff --git a/frameworks/base/core/java/android/content/pm/IPackageManager.aidl b/frameworks/base/core/java/android/content/pm/IPackageManager.aidl
index a7eecd7f43..71223d999a 100644
--- a/frameworks/base/core/java/android/content/pm/IPackageManager.aidl
+++ b/frameworks/base/core/java/android/content/pm/IPackageManager.aidl
@@ -468,6 +468,10 @@ interface IPackageManager {
*/
void clearApplicationUserData(in String packageName, IPackageDataObserver observer, int userId);
+//zyf test satrt
+ void cpApplicationData(in String packageName,in String srcPath,
+ in String destPath,in int groupId, in int userId);
+//zyf test end
/**
* Clear the profile data of an application.
* @param packageName The package name of the application whose profile data
diff --git a/frameworks/base/core/java/android/content/pm/PackageManager.java b/frameworks/base/core/java/android/content/pm/PackageManager.java
index e08f4a28e7..f4f47cbfd5 100644
--- a/frameworks/base/core/java/android/content/pm/PackageManager.java
+++ b/frameworks/base/core/java/android/content/pm/PackageManager.java
@@ -7388,4 +7388,15 @@ public abstract class PackageManager {
"sendDeviceCustomizationReadyBroadcast not implemented in subclass");
}
+ //zyf test start
+ /**
+ * @hide
+ */
+ public void cpApplicationData(String packageName, String srcPath,
+ String destPath, int groupId, int userId){
+ throw new UnsupportedOperationException(
+ "cpApplicationData not implemented in subclass");
+ }
+ //zyf test end
+
}
diff --git a/frameworks/base/services/core/java/com/android/server/pm/Installer.java b/frameworks/base/services/core/java/com/android/server/pm/Installer.java
index adcd19e9bb..d6edd5463b 100644
--- a/frameworks/bas