Android Studio 多渠道打包

Android Studio 多渠道打包

如果你的App同時需要發佈到N個應用平臺,而同時你又需要針對每個平臺進行統計,那麼打包過程肯定是一件頭疼的事兒,再如果你在最後一個包打完之後發現,URL居然還是用的測試接口……呵呵~

拉磨~ Android Studio,一款Android開發人員的福音IDE,他在各方面都做了優化和簡化,多渠道打包也肯定在內了。你只需要三步,對,你沒聽錯,就是三步,就能讓這個勤勞的老黃牛幫你做這件頭疼的事。

這裏我們用友盟舉例:(友盟快給我廣告費~)

1.修改你項目中的AndroidManifest文件,像這樣:

//修改前
 <meta-data
     android:name="UMENG_CHANNEL"
     android:value="WanDouJia"/>
// 修改後
 <meta-data
     android:name="UMENG_CHANNEL"
     android:value="${UMENG_CHANNEL_VALUE}"/>

2. 修改你項目下的build.gradle, 像這樣:

    productFlavors {
        // 像這樣把你需要發佈的平臺羅列出來
        BaiDu {}
        ZhuShou {}
        GuanWang {}
        WanDouJia {}
        XiaoMi {}
        YingYongBao {}

        productFlavors.all { flavor ->
            flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
        }
    }

    // 你的簽名配置
    signingConfigs {
        release {
            storeFile file("C:\\aaa\\keystore .jks")
            storePassword "your storePassword"
            keyAlias "your keyAlias"
            keyPassword "your keyPassword "
        }
    }

    // 將你的簽名配置加到這裏
    buildTypes {
        release {
            // 這裏要加入上面的簽名配置信息
            signingConfig  signingConfigs.release
        }
    }

上面把密碼寫入了gradle,這樣不安全,所以還有這樣一種方案,也是推薦方案,像這樣:

signingConfigs {
  myConfig {
   storeFile file("stone.keystore")  
   storePassword System.console().readLine("\nKeystore password: ")  
   keyAlias "stone"  
   keyPassword System.console().readLine("\nKey password: ")  
  }
}

這樣他會在編譯的過程中讓你輸入密碼,但是不知道是我弄錯了還是怎麼回事,總是告訴我沒法回調readLine() 。所以如果知道怎麼回事的同學請回復告訴我,感激不盡~

3. 執行gradlew assembleRelease 開始打包

點擊Android Studio低欄的Terminal,像這樣:
這裏寫圖片描述

打包好的apk會在你項目下的app\build\outputs\apk中看到。分別爲未簽名和簽名的。

打完手工。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章