is test bit activation mandatory? | developer.brewmp.com is test bit activation mandatory? | developer.brewmp.com

Developer

is test bit activation mandatory?

I was under the impression that there was no way to develop on a BREW device if the test bit was not activated by qualcomm. However, I have a whole bunch of phones which seem to work just fine with a fairly involved app that does network calls and plays video as well as a bunch of other complex stuff and now it turns out that none of these handsets were ever sent in for test bit activation.

how is this possible?

Also... what SHOULD I expect when I try to upload an app to a phone that has not been activated? Is the upload process supposed to fail? Or is the app just going to disappear when I power cycle the phone? I have two phones that are not behaving like the others in that one of them is willing to create an empty file but fails to actually make that file of anything other than 0 length, and the other won't let me delete files or overwrite them.

I am guessing from your question that you come from a J2ME background? In BREW, test-signed applications will not work at all if the phone is not test-bit enabled, unlike J2ME where only certain APIs are limited if the MIDlet has not been signed. However in BREW 3.x all phones are supposed to come test enabled, which is why you are probably able to run test-signed apps even though you haven't sent any phones in for test enabling.
If you load an app with a test signature on a non-test enabled phone you will probably get an "Application digital signature failure" or similar error when you try to run it. I haven't ever seen a case where the upload fails due to a signature issue (I'm pretty sure the AppLoader doesn't check that), though I think I may have seen a case where the phone erases the app after a power cycle due to it not being test-enabled / having an invalid signature file.
The other things you are seeing may just be the standard AppLoader issues where some phones have problems doing certain file operations. For example the delete issue may be because sometimes, especially with the MIF file, running BREW (like opening the app manager) will cause the phone to lock certain files and won't allow you to delete or modify them until the phone is power cycled.

I am guessing from your question that you come from a J2ME background? In BREW, test-signed applications will not work at all if the phone is not test-bit enabled, unlike J2ME where only certain APIs are limited if the MIDlet has not been signed. However in BREW 3.x all phones are supposed to come test enabled, which is why you are probably able to run test-signed apps even though you haven't sent any phones in for test enabling.
If you load an app with a test signature on a non-test enabled phone you will probably get an "Application digital signature failure" or similar error when you try to run it. I haven't ever seen a case where the upload fails due to a signature issue (I'm pretty sure the AppLoader doesn't check that), though I think I may have seen a case where the phone erases the app after a power cycle due to it not being test-enabled / having an invalid signature file.
The other things you are seeing may just be the standard AppLoader issues where some phones have problems doing certain file operations. For example the delete issue may be because sometimes, especially with the MIF file, running BREW (like opening the app manager) will cause the phone to lock certain files and won't allow you to delete or modify them until the phone is power cycled.

actually I've done more BREW dev than J2ME, but that's neither here nor there. What you are saying is exactly what my understanding was. The specific situation is that I started working on a project for a company that had a bunch of phones with an app (that I'm modifying) already installed on them. It never occurred to me to ask if they ever sent them in for test bit enabling since the app works on all of them! I just took it for granted that they did.
Then today I am dealing with a new phone (moto V3a) and in both app loader as well as this other application I tried (QPST) I get the exact same error... namely, it creates a 0 byte file with the name of whatever file I try to upload. This is true for both mifs and mods, sigs, bars, etc. I didn't know what to make of it so I asked the admin that deals with these sorts of things if this phone had perhaps never been sent in for test bit activation and she told me that none of them ever were. So... after I got my jaw off the floor I came here and posted cause I was under the impression that the phone would simply refuse to run an app that someone uploaded at random unless it was activated to do that.

actually I've done more BREW dev than J2ME, but that's neither here nor there. What you are saying is exactly what my understanding was. The specific situation is that I started working on a project for a company that had a bunch of phones with an app (that I'm modifying) already installed on them. It never occurred to me to ask if they ever sent them in for test bit enabling since the app works on all of them! I just took it for granted that they did.
Then today I am dealing with a new phone (moto V3a) and in both app loader as well as this other application I tried (QPST) I get the exact same error... namely, it creates a 0 byte file with the name of whatever file I try to upload. This is true for both mifs and mods, sigs, bars, etc. I didn't know what to make of it so I asked the admin that deals with these sorts of things if this phone had perhaps never been sent in for test bit activation and she told me that none of them ever were. So... after I got my jaw off the floor I came here and posted cause I was under the impression that the phone would simply refuse to run an app that someone uploaded at random unless it was activated to do that.

Try using the AppLoader instead of QPST.
-Erik

Try using the AppLoader instead of QPST.
-Erik

use bitpim or/and look for another motorola driver. It should work :)

use bitpim or/and look for another motorola driver. It should work :)