我目前正在开发一款更新管理应用程序。到目前为止,每当我安装或更新任何其他应用程序时,该应用程序都运行良好。所有这些应用程序都已安装在data/app文件夹中,并且我使用了android.content.pm.IPackageManager类和installpackage()方法来安装它们。
我正在开发一个定制ROM,其中包括1 GB的内部存储器,4GB的内部SD卡和8GB的外部SD卡。由于所有我的应用程序都已安装在data/app文件夹中,因此我的内部存储器空间不足!我想知道是否可以使用相同的installpackage()方法将应用程序安装在外部SD卡(或内部SD卡)上。
以下是我安装应用程序的方法:
我正在开发一个定制ROM,其中包括1 GB的内部存储器,4GB的内部SD卡和8GB的外部SD卡。由于所有我的应用程序都已安装在data/app文件夹中,因此我的内部存储器空间不足!我想知道是否可以使用相同的installpackage()方法将应用程序安装在外部SD卡(或内部SD卡)上。
以下是我安装应用程序的方法:
private Class<?> iPackageManagerStubProxyClass;
iPackageManagerStubProxyClass = Class
.forName("android.content.pm.IPackageManager$Stub$Proxy");
public void installPackage(Uri uri) throws NoSuchMethodException,
NumberFormatException, IllegalArgumentException, IllegalAccessException,
InvocationTargetException, ClassNotFoundException {
Log.i(LOG_TAG, "installing without deleting");
Method method = getMethod(iPackageManagerStubProxyClass, "installPackage");
method.invoke(packageManagerServiceProxy, uri, getPackageInstallObserver(),
Integer.valueOf(INSTALL_REPLACE_EXISTING | INSTALL_INTERNAL), "");
System.out.println(method);
}
我开始怀疑是否可以将应用程序安装到SD卡上。有什么建议吗?如果不行,我能在安装后通过编程方式将我的应用程序移动到SD卡上吗?