Nolan Amy
Nolan Amy

Reputation: 11135

Does android:versionName have to be numeric (of the form 0.0.0, etc.)?

I tried to use android:versionName=">0.3" in my AndroidManifest.xml file (as a note to myself to bump it on the next release), but the NDK didn't like it:

Invalid attribute name: 
C:/Android/android-ndk-r8d/build/gmsl/__gmsl:512: *** non-numeric second argument to `wordlist' function: ''.  Stop.

And yet, the docs seem to indicate that I can make my versionName whatever I want:

android:versionName

The version number shown to users. This attribute can be set as a raw string or as a reference to a string resource. The string has no other purpose than to be displayed to users. The versionCode attribute holds the significant version number used internally.

Upvotes: 5

Views: 2922

Answers (4)

Nolan Amy
Nolan Amy

Reputation: 11135

Turns out the NDK uses some interesting GNU Make integer encoding functions on the versionName string. It seems these can handle letters and some special characters (e.g., ?, -, /, \, and +) but not others (e.g., < and >).

I've opted to append a .0 to the end of my versionName to indicate that a bump is needed on the next release. In this case, I'm using 0.3.0.

(for more on GMSL's Integer Arithmetic Functions, see Line 494 of the source)

Update:

We've switched to simply appending a + character – 0.3+. Works nicely.

Upvotes: 4

luckyreed76
luckyreed76

Reputation: 185

I used the command dos2unix AndroidManifest.xml and it clears up the error for me. I hope that helps.

How to build Openssl for Android on Windows with ndk8?

Upvotes: 1

ZiviMagic
ZiviMagic

Reputation: 1054

Simply add <uses-sdk android:minSdkVersion="8" /> before the application tag.

That worked for me.

Upvotes: 0

android developer
android developer

Reputation: 116010

Technically , there are no restrictions about what you put there.

However , please make it as easy to understand as possible , especially for final versions .

For alpha/beta/RC/preview versions , you can put whatever you wish, but still , put some kind of version numbers.

Upvotes: 0

Related Questions