標籤:.net 對話方塊 版本 net 異常 epo 使用 其他 lib
以下環境為Android Studio 1.3.2,Gradle 2.7(as內建2.4,另下載的2.7)
編譯時間提示Multiple dex files define: Lcom/sina/weibo/sdk/BuildConfig異常
新浪微博提供的SDK裡所帶的weibosdkcore.jar裡包含了BuildConfig類,而api工程也會產生同名(包名也相同)類,所以有此編譯異常。解決方案是用工具(如7zip)直接刪除weibosdkcore.jar裡的BuildConfig.class檔案。還有其他解決方案,這個連結不錯。
無法clean project
有時clean後仍然有檔案殘留(例如classes.jar),此時需要手工刪除項目路徑下的build目錄(刪除時可能會提示classes.jar被佔用,多半是as自己在使用,可關閉as再重試)。比較噁心的是,clean時並不會提示你有檔案無法刪除。
兩個project共用一個module
假設自己寫了一個android library(名稱library1),然後想在Project1和Project2裡都使用它,但不把library1複製兩份。竅門是在project2的setting.gradle檔案裡像下面這樣引用project1裡的資源:
include ‘:../project1/library1‘
參考連結
Configuration with name ‘default‘ not found.
檢查settings.gradle檔案裡,include的module是否存在,通常是include了不存在的module造成的。參考連結
Proguard提示Duplicate Entry錯誤
多個module依賴多個相同的jar檔案時會有這個問題,我當時遇到的是xutils,解決辦法是在jcenter上找到了對應的repository,改為不直接使用jar而是使用repository解決。Proguard Troubleshooting
用proguardFile還是proguardFiles?
在build.gradle裡指定項目proguard設定檔時,用proguardFiles可以同時指定多個,用proguardFile可指定一個(可多行),經測試效果是一樣的。注意:在module settings對話方塊裡可能會顯示不出來正確的檔案名稱。還有一個變化:比較新的as版本預設檔案名稱是proguard-rules.pro,以前是proguard-rules.txt。
被依賴module裡BuildConfig.DEBUG的值總為false
例如module A依賴module B和module C,在Eclipse裡運行時B和C裡BuildConfig.DEBUG的值會是true(匯出簽名apk後會自動變成false);然而在Android Studio裡B和C裡的BuildConfig.DEBUG值總是false,A裡的正常。這樣就導致if(BuildConfig.DEBUG){Log.d(...)}日誌無法正常顯示。
AndroidStudio的一些坑