"Can install to external storage" and App2SD

nad

Active Member
Licensed User
Longtime User
Hello all,

I have recompiled and reinstalled my apps after selecting "Can install to external storage" in the B4A IDE, but App2SD and Move2SD and similar programs say cannot move the apps to the SD card.

App works from File.dirassets (in case this is a limitation to move to SD)

My Mobile is a HTC Desire HD with 2.3.3

Am I missing something?

Thanks and regards,
 

nad

Active Member
Licensed User
Longtime User
Hello Erel,

Thanks for your reply.

I am not using widgets, just normal apps. In one app i had the manifest on read only as they use admob, but i change it normally as needed to upgrade version and recompile as android market requires to upgrade the software.
Other application is also not on read only permanently as it is not using admob and nothing requires to set it on read only.



Regards,
 
Upvote 0

nad

Active Member
Licensed User
Longtime User
Hello Erel,

I will check if the manifest has that string. Maybe i selected the "Can install to external storage" when it had selected the option to not overwrite the manifest.


Thanks and regards,
 
Upvote 0

nad

Active Member
Licensed User
Longtime User
No luck.
I have released a new version of the app being really sure it has that string on the manifest but still cannot get moved to the SD Card.

Reading FAQ from App2SD it says the following:

"...Can all apps be installed on the external storage

If app uses any of the following features, it cannot be installed on the external storage. It's required by Android System.

App Widgets, Services, Input Method Engines, Live Wallpapers, Live Folders, Alarm Services, Account Managers, Sync Adapters, Device Administrators..."


I am trying with a very simple application, just a imageview slideshow with some mp sounds. The only special thing might be that i am trying to use an intent on market

StartActivity(market)

and for this i am including the phone 1.55 library. Maybe is this a "Device Administrator"?

I don't think it is something related to the phone because with my wife mobile it also does not allow to move to SD (although both mobiles are very similar, desire & desire Hd)

I don't have any hidden smdl2tmp1.asec under .android_secure

Many Thanks Erel and regards,
 
Upvote 0

nad

Active Member
Licensed User
Longtime User
I think this might have something to do ....


I actually have


<manifest xmlns:android="http://schemas.android.com/apk/res/android"
......
android:installLocation="preferExternal">
<uses-sdk android:minSdkVersion="4" />

And somewhere i can read

"...
Use android:targetSdkVersion to indicate which API level you're targeting. Then you need to use android:minSdkVersion to declare the minimum API level, where the phones at this level will ignore higher unknown attributes in the manifest file and then you're free to use which feature you want (e.g. SD card feature). What's important is that your code must target the android:minSdkVersion in order to get your application running on these devices.
..."

I will try again adding a android:targetSdkVersion="8" along the minSdkversion="4"

I will write here the results just in case it helps someone in the future.

Thanks and regards,
 
Upvote 0

nad

Active Member
Licensed User
Longtime User
Again no luck. Seems to be doing the same.
It is strange because in the SDK API8 emulator the application can be moved to SD but not in those two mobiles.

Can someone confirm if this happen to work sometimes and sometimes not in other different mobiles? That would give me some peace of mind.

Anyone has any new idea i can try?

Thanks and regards,
 
Upvote 0

Ronny

Member
Licensed User
Longtime User
This works for me:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
......
android:installLocation="auto">
<uses-sdk android:minSdkVersion="4" />
......
 
Upvote 0

palmzac

Active Member
Licensed User
Longtime User
android:installLocation="auto"

Great !
It work for me too.:sign0142:
 
Last edited:
Upvote 0

nad

Active Member
Licensed User
Longtime User
This is getting more and more strange. I must be doing something wrong.

The actual situation is that if i clear the project, upgrade app version in b4a, compile and later i modify the manifest so it includes the string for internet connection (for admob) and also i change the string to auto (from internalonly), compile in the emulator it works and the mobile can move the installation to the SD Card. It also works if i compile, install in my mobile using the Bridge so i can also install to the SD Card.

Now if i upload that apk to the android market, i uninstall the app in my mobile and download it from the android market, and after installation check in the mobile settings, the "move to sd" is greyed out and i cannot move it there, the same is happening to some of my users.

any help appreciated.

Thanks and regards,
 
Upvote 0

Amalkotey

Active Member
Licensed User
Longtime User
When I have does not change. This is understandable, since the custom ROM, I DeFroST v6.0K with DATA2SD I installed as root, anyway, and everything ends up on my SD card.

regards
Amalkotey
 
Upvote 0

nad

Active Member
Licensed User
Longtime User
If i install via bridge in my mobile (Android 2.2.3) it goes to SD. If later i upload that result.apk to the android market and i install it from there, the application does not go to SD.

"...
Copy Protection
Your application cannot be installed to a device's SD card if it uses Android Market's Copy Protection feature. However, if you use Android Market's Application Licensing instead, your application can be installed to internal or external storage, including SD cards.
..."

So seems i will have to change to application licensing soonish
 
Upvote 0
Top