2017-04-02 51 views
-1

我剛剛創建了一個新庫,Powerful Image View
我的庫是一個自定義AppCompatImageView,所以我需要appcompat-v7庫。問題在於:Android AppCompat在自定義庫中的依賴關係

我應該如何將它添加到我的庫中?
我應該使用'compile'還是'provided'並讓用戶將庫添加到它自己的依賴項?
我應該如何處理不同版本的庫,因爲我不依賴於特定的版本?

我添加到庫中的文件的gradle這一行:

provided 'com.android.support:appcompat-v7:+' 

我想知道你對這個:)

+0

你應該至少解釋downvote ... –

回答

1

我應該用「編譯」的想法,或「提供」並讓用戶將庫添加到它自己的依賴關係中?

我會用compile並確保使用庫開發人員理解你的庫依賴於appcompat-v7,因爲這反過來又很多地方的其他要求(例如,使用AppCompatActivity,使用Theme.AppCompat)。

我應該如何處理不同版本的庫,因爲我不依賴於特定的版本?

那麼,你需要一些版本。 appcompat-v7的所有版本中均不存在AppCompatImageView。我建議取決於具體版本(即不是+),理想情況下是最新版本。

+0

我明白你的意思,但這也意味着,如果用戶使用特定的舊版本的appcompat庫,出於任何原因,他將無法使用它。 那麼編譯'com.android.support:appcompat-v7:25.+'呢? ? –

+1

@StefanoSiano:「這也意味着如果用戶使用特定的舊版本的appcompat庫,出於任何原因,他將無法使用它」 - 開發人員可以指示Gradle使用舊版本。 「那麼編譯'com.android.support:appcompat-v7:25.+'怎麼樣?」 - 我一直從'+'遠離。你不知道你的代碼是否可以在未經修改的情況下與'appcompat-v7'的任意版本一起工作,開發人員可以選擇使用舊的或更新的'appcompat-v7'。 – CommonsWare