從前聽大神同事強(qiáng)老師說IntelliJ IDEA 功能強(qiáng)大,是Jet Brains 公司開發(fā)商業(yè)IDE(集成開發(fā)環(huán)境),同時(shí)支持Java, Scala 和Groovy。商業(yè)IDE即IntelliJ 是一款收費(fèi)的IDE,當(dāng)然了其實(shí)也有免費(fèi)的社區(qū)版本,但是很多功能都被閹割了。IntelliJ 除了支持Android項(xiàng)目開發(fā),還可以搭建java web 開發(fā)環(huán)境,功能比AS更強(qiáng)大。
阿拉最近重裝了電腦,想著干脆也裝個(gè)IntelliJ 吧,但是另一個(gè)同事說Intellij與AS會(huì)沖突。一開始我覺得是他太嫩,不愛折騰。后面因?yàn)閍s3.0自身有一些新的坑,Intellij我暫時(shí)沒弄成功,終于是先放下它,晚點(diǎn)再來對(duì)付。畢竟還是要上班工作的,但我是打不死的程序媛。
(一)關(guān)于注解
Error:Execution failed for task ':Framework:javaPreCompileDebug'.
Annotation processors must be explicitly declared now. The following dependencies on the compile classpath are found to contain annotation processor. Please add them to the annotationProcessor configuration.
- butterknife-7.0.1.jar (butterknife-7.0.1.jar)
Alternatively, set android.defaultConfig.javaCompileOptions.annotationProcessorOptions.includeCompileClasspath = true to continue with previous behavior. Note that this option is deprecated and will be removed in the future.
See https://developer.android.com/r/tools/annotation-processor-error-message.html for more details.
Android Studio官網(wǎng)的說明如下:
Use the annotation processor dependency configuration
一開始我是先找到了解決方法,后面才看到上面的鏈接。先說一下解決方法。在build.gradle 的defaultConfig 中添加下列內(nèi)容:
apply plugin: 'com.android.application'android { ... defaultConfig { ... //大兄弟,這邊~ javaCompileOptions { annotationProcessorOptions { includeCompileClasspath true } } }}(二)關(guān)于渠道
Error:All flavors must now belong to a named flavor dimension.Learn more at https://d.android.com/r/tools/flavorDimensions-missing-error-message.html
所有的flavors都必須屬于同一個(gè)風(fēng)格。官網(wǎng)中文解釋:組合多個(gè)產(chǎn)品風(fēng)味
解決方法就是在build.gradle中添加相應(yīng)的標(biāo)志的內(nèi)容。
flavorDimensions("vas", "normal") //介個(gè) productFlavors { vas { dimension 'vas' buildConfigField "boolean", "ENABL_VAS", "true" dimension "vas" //介個(gè) } normal { dimension 'normal' buildConfigField "boolean", "ENABL_VAS", "false" dimension "normal" //還有介個(gè) } }(三)關(guān)于Sugar
3.0Android: Sugar ORM No Such Table Exception
項(xiàng)目中用到Sugar,在3.0AS中老是提示找不到表。其實(shí)解決方法很簡(jiǎn)單,而且瀏覽的網(wǎng)站也老早就說了該如何處理,但因?yàn)槲衣┑袅岁P(guān)鍵的點(diǎn),所以老是沒成功。
instant run莫勾選
最后!卸載設(shè)備上的舊應(yīng)用,一定要卸載!然后重新運(yùn)行新的應(yīng)用就OK了。
(四)關(guān)于Manifest merger
Execution failed for task ':AppMain:processVasNormalDebugManifest'. Manifest merger failed with multiple errors, see logs
這是我第一次知道原來Manifest還有merge沖突的情況出現(xiàn)。有趣有趣。
項(xiàng)目目錄
我的項(xiàng)目中有一個(gè)application和一個(gè)library,這兩個(gè)module都有自己的manifest。原來as最后會(huì)幫我們將兩個(gè)manifest合并起來,所以當(dāng)二者設(shè)置的內(nèi)容不一致,就會(huì)起沖突,merge失敗。原理就是這樣了。對(duì)比一下兩個(gè)manifest中有什么值是大不同的,修改一下就好了。那要怎么看合并的結(jié)果是怎么樣的呢?
比如我打開AppMain的manifest,選擇下面的Merged Manifest 模式,就可以看到最終合并結(jié)果了。
AppMain的manifest
我記得自己的情況是:AppMain的manifest我設(shè)置android:allowBackup="false",然后FramewFramework的manifest為android:allowBackup="true",然后改成都為false就好了。大家要看自己的實(shí)際情況是什么,再做相應(yīng)的修改。
總結(jié)
以上所述是小編給大家介紹的Android Studio3.0.1填坑筆記,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)武林網(wǎng)網(wǎng)站的支持!
新聞熱點(diǎn)
疑難解答
圖片精選