国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

淺析Android Studio 3.0 升級各種坑(推薦)

2019-10-22 18:24:10
字體:
來源:轉載
供稿:網友

點擊 Check for Updates 增量更新:

android,studio,3.0,升級

下載完成,會提示更新 您將 Gradle 更新至 4.1:

android,studio,3.0,升級

這里建議您對老項目先暫時點擊 Don't remind me on this project,以防有坑。當然我不入地獄誰入地獄,我點 Update,于是問題來了,一直處于下載中,不過,莫擔心,我下載好了,公眾號聊天界面回復「 gradle-4.1-all 」,下載 gradle-4.1-all.zip 文件,放到:

android,studio,3.0,升級

重啟 Android Studio。

gradle 目錄:

Mac系統默認:/Users/(用戶名)/.gradle

Windows系統默認:C:/Users(用戶名).gradle

修改舊項目

首先我們新建項目,看看發生了哪些變化。

1、app/build.gradle

android,studio,3.0,升級

buildToolsVersion:這里沒有構建工具的版本 buildToolsVersion 屬性了,Android Studio 3.0 默認情況下,插件會自動為您使用的 Android 插件版本使用最低要求的構建工具版本;

implementation:由以前的 compile 改成了 implementation。老版本的構建關鍵字 compile 被廢棄了,而是改成了這兩個:api:同 compile 作用一樣,即認為本 module 將會泄露其依賴的 module 的內容;

implementation:本 module 不會通過自身的接口向外部暴露其依賴 module 的內容。

2、項目 build.gradle

android,studio,3.0,升級

google():Android Studio 3.0 現在默認使用 Google 的 Maven 存儲庫,而不是依賴于 Android SDK Manager 來獲取 Android 支持庫,Google Play 服務,Firebase 和其他依賴項的更新;

build.gradle:指定的是Gradle插件的版本,由之前的 2.3.3 改成了 3.0.0。

3、gradle-wrapper.properties

gradle-wrapper.properties 中配置的是的 Gradle 的版本。

android,studio,3.0,升級

可以對老項目就以上幾點進行修改。

butterknife

如果您在 lib 里使用了 butterknife,會遇到以下錯誤:

android,studio,3.0,升級

網上說將 apply plugin: ‘com.jakewharton.butterknife' 注掉,是能解決問題,但是對于 lib 里使用了 butterknife 依舊報 R2 找不到,還得放開 apply plugin: ‘com.jakewharton.butterknife',最后我只能退而求其次,將 build.gradle 中 3.0.0 改成之前的 2.3.3,解決。

打包自定義 APK 文件名

打包時,要是自定義輸出 APK 文件名可以這樣做:

buildTypes {  release {    minifyEnabledfalse    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'    applicationVariants.all { variant ->      if (variant.buildType.name == 'release') {        variant.outputs.each { output ->          def outputFile = output.outputFile          if (outputFile !=null && outputFile.name.endsWith('.apk')) {            def fileName = "Sample_v${defaultConfig.versionName}_${releaseTime()}_${variant.flavorName}.apk"            output.outputFile = new File(outputFile.parent, fileName)          }        }      }    }  }}

使用 Gradle Plugin 3.0.0 時報錯:

Cannot set the value of read-only property 'outputFile' for ApkVariantOutputImpl_Decorated{apkData=Main{type=MAIN, fullName=release, filters=[]}} of type com.android.build.gradle.internal.api.ApkVariantOutputImpl. Open File

需要修改 each() 和 outputFile() 方法為 all() 和 outputFileName:

buildTypes {  release {    minifyEnabledfalse    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'    applicationVariants.all { variant ->      if (variant.buildType.name == 'release') {        variant.outputs.all { output ->          def outputFile = output.outputFile          if (outputFile !=null && outputFile.name.endsWith('.apk')) {            def fileName = "Sample_v${defaultConfig.versionName}_${releaseTime()}_${variant.flavorName}.apk"            output.outputFileName = new File(outputFile.parent, fileName)          }        }      }    }  }}

補充

build.gradle 和 gradle-wrapper.properties 區別,了解更多: https://developer.android.com/studio/releases/gradle-plugin.html

最后

目前遇到這些坑,歡迎一起吐槽您在升級開發遇到的坑,這次升級又折騰了很久。另外如果需要gradle-4.1-all.zip 文件,公眾號「吳小龍同學」聊天界面回復「 gradle-4.1-all 」獲取。?

PS:下面給大家補充介紹android studio升級到3.0的各種坑。

項目的build.gradle(不是module):

解決方案:

關掉AAPT2即可

在Project/gradle.properties中添加 android.enableAapt2=false

總結

以上所述是小編給大家介紹的淺析Android Studio 3.0 升級各種坑(推薦),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VEVB武林網網站的支持!


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 开化县| 平凉市| 遵化市| 隆林| 宜良县| 通海县| 岱山县| 永定县| 上栗县| 兰溪市| 兴城市| 东乡族自治县| 调兵山市| 岱山县| 红安县| 永胜县| 浙江省| 贵港市| 科尔| 彰武县| 宁德市| 宜丰县| 仙游县| 武宣县| 通江县| 福海县| 汽车| 张家港市| 淄博市| 杭州市| 景洪市| 武汉市| 青岛市| 堆龙德庆县| 平利县| 辽阳市| 黔西| 清水河县| 庐江县| 庄浪县| 新安县|