Library Project Build Version Higher Than Projects Using It
Solution 1:
It is probably doable by branch checking SDK version in code level like if android.os.Build.VERSION.SDK_INT < 11 then do not run this, but not recommended by dev guide:
Platform version must be lower than or equal to the Android project
A library is compiled as part of the dependent application project, so the API used in the library project must be compatible with the version of the Android library used to compile the application project. In general, the library project should use an API level that is the same as — or lower than — that used by the application. If the library project uses an API level that is higher than that of the application, the application project will not compile. It is perfectly acceptable to have a library that uses the Android 1.5 API (API level 3) and that is used in an Android 1.6 (API level 4) or Android 2.1 (API level 7) project, for instance.
Solution 2:
It is possible for you to use library supporting higher minSdkVersion than that in your project. To do so, in your projects manifest file add tools:overrideLibrary="<libraries packagename>"
manifest element uses-sdk
<uses-sdk android:minSdkVersion="9" android:targetSdkVersion="23" tools:overrideLibrary="<libraries packagename>" />
Solution 3:
Using a library with higher API level than the application is not recommended. If you referenced any API 11 only features in library and then use API 8 to compile with your app, then it should not compile at all. Do you actually have API 11 references in your library's code?
See Android docs:
In general, the library project should use an API level that is the same as — or lower than — that used by the application. If the library project uses an API level that is higher than that of the application, the application project will not compile.
Solution 4:
in your manifest you can simply add:
<uses-sdktools:overrideLibrary="<libraries packagename>"
/>
Post a Comment for "Library Project Build Version Higher Than Projects Using It"