28

I am thinking of creating a core application library (a library project with all the logic), a free version)and a full version that use this library.

As I understand some things in the manifest do not merge down like permissions and activities, does the version code merge? Could I put a single version code in the library to apply to both the free and paid versions?

The second question is, my current application (The one I will turn into an Android library) depends on a library, therefore if I make it a library, as I understand it, you cannot have a library inherit from a library. How do I get around this?

jax
  • 37,735
  • 57
  • 182
  • 278

3 Answers3

42

AndroidManifest.xml merging is supported in version 20 of the ADT tools:

"Automatic merging of library project manifest files into the including project's manifest. Enable with the manifestmerger.enabled property."

http://tools.android.com/download/adt-20-preview

You will need version 20.0.3 or newer to get it to work within Eclipse.

Release notes for ADT 21 preview has this comment:

"Fixed manifest merger to properly adapt library classes in the merged manifest."

Not sure what this means but may be worth checking out if you are having merge issues.

Hayes Haugen
  • 822
  • 1
  • 7
  • 7
21

THIS ANSWER WAS CORRECT FOR EARLIER VERSIONS OF THE ANDROID SDK BUT IS NOW OBSOLETE. SEE Hayes's ANSWER BELOW FOR MORE UP-TO-DATE INFO.

  1. The manifest file for a library project is almost totally not used. The only part that's necessary is the manifest element with a package attribute. I believe the rest of the manifest for a library project is ignored.

  2. The android tools released in Sept 2010 do support a library project referencing a library project. The docs state otherwise, but I'm pretty sure they are out-of-date.

Jo Jo
  • 7,245
  • 5
  • 34
  • 49
0

Manifests are not merged, but I recall there's an include statement in Android XMLs.

Arbitrary-level library dependence was introduced in a recent version of Android SDK IIRC.

Seva Alekseyev
  • 59,826
  • 25
  • 160
  • 281
  • I have the most recent version of the SDK, does this mean it is ok to have libraries inheriting from libraries (Arbitrary-level library dependence) – jax Dec 16 '10 at 04:14
  • In the documentation is says that "Note that a library project cannot itself reference another library project" – jax Dec 16 '10 at 04:34
  • Just created a library that depends on another library, and built them. Eclipse Ganymede, Android tools v.0.9.9.v201009221407-60953 (probably even not the most recent one). – Seva Alekseyev Dec 16 '10 at 20:40
  • What do you mean by "there's an include statement in Android XMLs"? Is there an easy way to include list of activities from AndroidManifest.xml that's in Library Project? – nikib3ro Jan 19 '11 at 19:53
  • I was mistaken, it seems. Manifest files don't support include. Sorry. – Seva Alekseyev Jan 19 '11 at 21:11
  • No, the include is only for layouts. – Peter Fortuin Sep 15 '11 at 12:48