由于升級了AndroidStudio3.0虫碉,其他配置也得跟著升,首當(dāng)其沖的就是gradle胸梆,不得不升級到3.0敦捧,但由此帶來了一系列問題。記錄一下碰镜,希望幫助有緣人=实搿!洋措!
問題一
Cannot set the value of read-only property 'outputFile'….
出現(xiàn)此錯誤,是由于build.gradle里面指定了apk輸入路徑導(dǎo)致杰刽,新版gradle已經(jīng)去除outputFile屬性菠发,無法再通過之前的output.outputFile = new File(dir,newName)輸入到指定目錄了贺嫂。
新版可直接指定outputFileName = new File(dir滓鸠,newName),同時variant.outputs.each需改為variant.outputs.all即可第喳。
問題二
Could not get unknown property 'apkVariantData' for object of type com.android……
發(fā)生此問題一般是導(dǎo)入了微信的資源壓縮文案AndResGuard糜俗,可以升級最新的1.2.8版本即可解決。
問題三
com.android.dex.DexException: Multiple dex files define Lorg/jsoup/nodes/Attributes$Dataset$DatasetIterator;
如果之前想體驗java8 lambda的美妙之處引用了retrlambda曲饱,而又不湊巧用到了jsoup悠抹,那么恭喜,很大可能會出現(xiàn)此錯誤扩淀,解決辦法也簡單楔敌,升級buildToolsVersion到26,新版本的tools默認已經(jīng)支持lambd表達式了驻谆,不再需要另外引用第三方庫了卵凑,因此升級版本后可以直接去掉retrolambda庫的引用。
問題四
對于多渠道大家肯定都會有配置胜臊,但現(xiàn)在又出問題了勺卢,升級gradle后對后有渠道需要指定統(tǒng)一的風(fēng)格,具體什么作用象对,暫時還不清楚布隔,不過可能對性能有優(yōu)化吧,純屬猜測嗅战。類似如下:
如果針對每個渠道去配置,過程稍顯繁瑣酱塔,在此提供一個簡單方式設(shè)置。
以上就是本次填坑總結(jié)了危虱,下次遇到繼續(xù)補充羊娃。