問題聲明: 我想僅在開發環境中使用庫,但不在發佈版(應用商店版本)上使用庫。 而且我不希望這個庫也可以在發佈apk中生成。Android:加載庫並僅將其用於開發分支不用於發佈
我appraoch:
所以,我有一個環境的設置是這樣的:
發展 -
- 調試
- 發佈
商店 -
- 調試
- 發佈 - >這正好play商店
在gradle這個我已經加入 -
debugCompile 'com.some.library'
它加載這個庫發展 - 調試和商店 - 調試
和然後,我創建了兩個應用程序類,
- ApplicationWithoutDebugLibrary延伸MultiDexApplication - 不初始化庫的應用程序類。
- ApplicationWithDebugLibrary延伸ApplicationWithoutDebugLibrary - 應用類初始化庫
而且我在gradle這個定義來裝入不同的味道不同的應用程序文件。
productFlavors {
Development {
applicationId "xyzzzz"
manifestPlaceholders = [application:"com.xyz.ApplicationWithDebugLibrary"]
}
store {
applicationId "11111"
manifestPlaceholders = [application:"com.xyz.ApplicationWithoutDebugLibrary"]
}
}
而在清單我寫了這個:
<application
android:name="${application}"...
所以,對於調試它工作正常,但是當我建立網店發佈/開發,發佈APK是不能夠編譯ApplicationWithDebugLibrary .java,因爲我正在使用該庫,該庫並未在Gradle文件中編譯以獲得發佈版本。
那麼,有沒有什麼方法可以避免將這個類加載到Store版本風格,或者我可以在開發環境中只加載該庫的任何替代解決方案。
怎麼樣的gradle中類和編寫腳本動態加載做同樣的。 我不知道它是否可能,我已經在很多地方讀過它,只是好奇而已。 – aamitarya
請更改您的評論。我不知道你的意思是什麼。 –
我在問,我們可以使用動態類加載或在Gradle中編寫腳本來完成此操作,以根據某些條件編譯類。 – aamitarya