我已经尝试了这个方法 http://forum.xda-developers.com/showthread.php ？t = 1278349 我确认它确实设置为2.但是它不会工作。然后我扎根了我的手机，安装了一个应用程序，我可以修改默认安装路径，但它也不会工作。
How can I do this? I'm using a Samsung Galaxy Ace
I've tried this method http://forum.xda-developers.com/showthread.php?t=1278349 I confirmed that it was indeed set to 2. But it wouldnt work.
Then I rooted my phone, installed an app with which I could modify the default installation path, but it also wouldnt work.
What can I do?
With 2.3, it will install apps by default to the external SD card. However, this will only happen if the app can run from the SD card. Many apps must be installed onto the internal storage in order to work properly.
App installation on external storage media The Android platform now allows applications to request installation onto the device's external storage media (such as the SD card), as an alternative to installation onto the device's internal memory.
Application developers can express the preferred installation location for their applications by means of a new attribute of in the manifest file, android:installLocation. The attribute supports three values: "internalOnly", "preferExternal", and "auto". At install time, the system checks the value of android:installLocation and installs the application .apk according to the preferred location, if possible. If the application has requested external installation, the system installs it into a private, encrypted partition in the external media. Once an application .apk is installed externally, the system lets the user change the storage location of the .apk and move it onto the device's internal memory if needed (and vice versa), through Manage Applications in the user settings.
By default, the system installs all applications onto the device's internal memory, except for those that explicitly request external installation. This means that the system will always install legacy applications onto internal memory, since they do not have access to the android:installLocation attribute. However, it is possible to configure and compile a legacy application such that it is installed internally on older versions of the platform and externally on Android 2.2 and later platforms, if necessary.
Note that requesting installation onto the device's external media is not suitable for all applications, particularly because the external media may be removable and unmounting/remounting may disrupt the user experience and system settings.
For more information about setting a preferred install location for your application, including a discussion of what types of applications should and should not request external installation, please read the App Install Location document.
Use link2sd. It's a very nice app. You can even set it to automatically move applications to the sdcard.
Try the steps in the provided link and it will work like a charm, works for me :)
and if your a developer and want to add your application directly into sd card then add below line in manifest tag