0
我使用,我想提取應用的應用版本,它正在使用一個庫,一切都很好與反思獲取的味道「版本名稱」從AAR
Class.forName(context.getPackageName() + ".BuildConfig");
但隨後...我把應用程序分開,類庫現在找不到BuildConfig類,它總是拋出「類未找到異常」...調試我注意到,我想要它的默認項目ID的版本名稱或我的課程的實際名稱,而不是味道的應用程序ID。
這是我的配置gradle。
productFlavors {
development {
applicationId "com.dev.testit"
buildConfigField 'String', 'API', '"api"'
minSdkVersion 16
targetSdkVersion 24
versionCode 1
versionName '1.N'
}
production {
applicationId "com.testit"
buildConfigField 'String', 'API', '"prod"'
minSdkVersion 16
targetSdkVersion 24
versionCode 1
versionName '1.S'
}
}
有沒有辦法?
謝謝
爲什麼不讓應用程序通過構造函數參數,方法調用等將版本名傳遞給庫? – CommonsWare
我在想我的最後一個解決方案,但如果可能的話,我希望它可以更自動一點。 –
如果此庫僅供您個人使用,您似乎在過度設計問題,恕我直言。同樣,恕我直言,如果這個庫是爲了更廣泛的使用,你不應該假設任何關於應用程序環境的東西,比如'BuildConfig'類的位置以及'BuildConfig.VERSION_NAME'是否是開發人員希望你使用的值的字符串資源,用於翻譯)。 – CommonsWare