0
我有一個包含多個實用程序類的自定義庫。我在min SDK 21
的單個項目中使用了它。在具有不同SDK分鐘版本的項目中使用相同的自定義庫
現在,我想重用在其他項目中,其中有min SDK 14
類之一。的類別代碼被罰款14版本,但搖籃不喜歡圖書館的分SDK爲21
什麼是推薦的方法,以這樣那樣的問題?我想重複使用該代碼,而不是複製它。
我有一個包含多個實用程序類的自定義庫。我在min SDK 21
的單個項目中使用了它。在具有不同SDK分鐘版本的項目中使用相同的自定義庫
現在,我想重用在其他項目中,其中有min SDK 14
類之一。的類別代碼被罰款14版本,但搖籃不喜歡圖書館的分SDK爲21
什麼是推薦的方法,以這樣那樣的問題?我想重複使用該代碼,而不是複製它。
可以使用,Manifest Merger重寫<uses-sdk>
進口庫。
從官方文檔:
默認情況下,用的minSdkVersion值,它比主清單文件更高 導入庫時,出現錯誤和庫 無法導入。要使合併工具忽略此衝突並在保留應用的較低minSdkVersion值的情況下導入庫, 將overrideLibrary屬性添加到標記。屬性 值可以是一個或多個庫包名(逗號分隔), 表示能夠覆蓋主清單的 的minSdkVersion的庫。
例如,如果你的應用程序的主清單適用overrideLibrary這樣的:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.app"
xmlns:tools="http://schemas.android.com/tools">
<uses-sdk android:targetSdkVersion="22" android:minSdkVersion="2"
tools:overrideLibrary="com.example.lib1, com.example.lib2"/>
...
然後將下面的清單可以在沒有關於<uses-sdk>
標籤錯誤進行合併,合併後的表現保持minSdkVersion="2"
從應用程序清單。
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.lib1">
<uses-sdk android:minSdkVersion="4" />
...
。你能夠獲得源代碼,該庫?我的意思是來自Github的庫模塊。 –
@HareshChhelana你認爲源代碼與這個問題有關嗎?爲什麼? – ilomambo
如果你有代碼,那麼保留你所需要的類而不是整個庫。 –