溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何解決Android studio升級到3.0之后運(yùn)行時的問題示例

發(fā)布時間:2021-07-28 13:44:41 來源:億速云 閱讀:127 作者:小新 欄目:移動開發(fā)

這篇文章主要為大家展示了“如何解決Android studio升級到3.0之后運(yùn)行時的問題示例”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“如何解決Android studio升級到3.0之后運(yùn)行時的問題示例”這篇文章吧。

這個問題是Android studio升級到3.0之后,運(yùn)行的時候會提示gradle要升級到3.5版本才能編譯。于是我把我的gradle升級到了

 gradle-4.1-milestone-1 版本,是2017年7月份最新版本了。

于是我把主程序的build.gradle中的gradle版本改成了這個,具體指定哪個版本我也不知道,于是就寫了個3.0+

 dependencies {
 classpath 'com.android.tools.build:gradle:3.0+' 
}

然后再次編譯,又發(fā)現(xià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都必須屬于同一個風(fēng)格。

=。=懵逼

去翻墻看了它提供的地址才知道:

 Plugin 3.0.0 includes a new dependency mechanism that automatically matches variants when consuming a library. This means an app's debug variant automatically consumes a library's debug variant, and so on. It also works when using flavors—an app's redDebug variant will consume a library's redDebug variant. To make this work, the plugin now requires that all flavors belong to a named flavor dimension —even if you intend to use only a single dimension. Otherwise, you will get the following build error:
[cpp] view plain copy
Error:All flavors must now belong to a named flavor dimension. 
The flavor 'flavor_name' is not assigned to a flavor dimension. 
 To resolve this error, assign each flavor to a named dimension, as shown in the sample below. Because dependency matching is now taken care of by the plugin, you should name your flavor dimensions carefully. For example, if all your app and library modules use the foo dimension, you'll have less control over which flavors are matched by the plugin.

// Specifies a flavor dimension. 
flavorDimensions "color" 
productFlavors { 
  red { 
  // Assigns this product flavor to the 'color' flavor dimension. 
  // This step is optional if you are using only one dimension. 
  dimension "color" 
  ... 
 } 
 blue { 
  dimension "color" 
  ... 
 } 
}

大致是說,Plugin 3.0.0之后有一種自動匹配消耗庫的機(jī)制,便于debug variant 自動消耗一個庫,然后就是必須要所有的flavor 都屬于同一個維度。

為了避免flavor 不同產(chǎn)生誤差的問題,應(yīng)該在所有的庫模塊都使用同一個foo尺寸。

= 。=還是懵逼。說一堆依然不是很理解。

但是我們從中已經(jīng)知道解決方案了:

在主app的build.gradle里面的

 defaultConfig {
 targetSdkVersion:***
minSdkVersion :***
versionCode:***
 versionName :***
//版本名后面添加一句話,意思就是flavor dimension 它的維度就是該版本號,這樣維度就是都是統(tǒng)一的了
flavorDimensions "versionCode"
}

以上是“如何解決Android studio升級到3.0之后運(yùn)行時的問題示例”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI