在 Android Studio 中可以新增 product flavor 來定義不同的 Build Variant,例如我新增的 ad 跟 noAd 兩個 product flavor,就會有四個 Build Variant adDebug、adRelease、noAdDebug 與 noAdRelease。
接著照 Android 官網的文件操作就可以新增 source set,但是我接著要在 source set 中新增 package 的時候,發現 source set 不是 java 目錄,如下圖,正常 java 目錄是藍色,灰色是一般目錄。
但是另一個 Build Variant noAd 卻又正常,接著就 clean build,重開 Android Studio 試了各種方法,都沒用,最後才發現,我的 Active Build Variant 是 noAdDebug,當切到 adDebug 後,ad 下面的 java 目錄就變成藍色,可以執行新增 package 操作了。
同理,在左側 Project view 切換到 Android 的時候,也只有 Active Build Variant 的目錄才會顯示出來。
為了這個蠢問題浪費了幾個小時,其實不太懂這個設計的用意是為什麼阿。