{"id":1283,"date":"2023-03-18T10:10:13","date_gmt":"2023-03-18T02:10:13","guid":{"rendered":"https:\/\/www.appblog.cn\/?p=1283"},"modified":"2023-04-29T09:21:11","modified_gmt":"2023-04-29T01:21:11","slug":"android-studio-uses-umeng-for-multi-channel-packaging","status":"publish","type":"post","link":"https:\/\/www.appblog.cn\/index.php\/2023\/03\/18\/android-studio-uses-umeng-for-multi-channel-packaging\/","title":{"rendered":"Android Studio \u4f7f\u7528\u53cb\u76df\u8fdb\u884c\u591a\u6e20\u9053\u6253\u5305"},"content":{"rendered":"<h2>AndroidManifest.xml<\/h2>\n<pre><code class=\"language-xml\">&lt;application&gt;\n&lt;!--\u53cb\u76df--&gt;\n    &lt;meta-data android:value=&quot;Umeng App Key&quot; android:name=&quot;UMENG_APPKEY&quot;\/&gt;\n    &lt;meta-data android:value=&quot;${UMENG_CHANNEL_VALUE}&quot; android:name=&quot;UMENG_CHANNEL&quot;\/&gt;\n&lt;\/application&gt;<\/code><\/pre>\n<p><!-- more --><\/p>\n<h2>\u5f15\u5165\u53cb\u76df\u79fb\u52a8\u7edf\u8ba1\u4f9d\u8d56<\/h2>\n<pre><code>api &#039;com.umeng.umsdk:common:2.1.0&#039;\n\/\/\u79fb\u52a8\u7edf\u8ba1\napi &#039;com.umeng.umsdk:analytics:8.1.3&#039;<\/code><\/pre>\n<h2>\u914d\u7f6e\u591a\u6e20\u9053<\/h2>\n<pre><code>android {\n    defaultConfig {\n        flavorDimensions &quot;versionCode&quot;\n    }\n\n    \/\/\u591a\u6e20\u9053\u6253\u5305\u652f\u6301\n    productFlavors {\n        Default {  \/\/\u9ed8\u8ba4\u7248\u672c, \u670d\u52a1\u7aef\u4e3a\u751f\u4ea7\u73af\u5883\n            manifestPlaceholders = [UMENG_CHANNEL_VALUE: &quot;default&quot;]\n        }\n        \/\/\u6e20\u9053\u540d\u79f0\u4e0d\u80fd\u4f7f\u7528Test, \u5426\u5219\u62a5\u9519: ERROR: Cannot add task &#039;reportSourceSetTransformTest&#039; as a task with that name already exists.\n        \/\/Umeng, test, unknown\u90fd\u662f\u4e0d\u53ef\u4ee5\u7684\n        \/\/Test {  \/\/\u670d\u52a1\u7aef\u4e3a\u5f00\u53d1\u6216\u6d4b\u8bd5\u73af\u5883\n            \/\/manifestPlaceholders = [UMENG_CHANNEL_VALUE: &quot;test&quot;]\n        \/\/}\n        Develop {  \/\/\u670d\u52a1\u7aef\u4e3a\u5f00\u53d1\u6216\u6d4b\u8bd5\u73af\u5883\n            manifestPlaceholders = [UMENG_CHANNEL_VALUE: &quot;develop&quot;]\n        }\n        Home {  \/\/\u6295\u653e\u5b98\u7f51\n            manifestPlaceholders = [UMENG_CHANNEL_VALUE: &quot;home&quot;]\n        }\n        Update {  \/\/\u6295\u653e\u5347\u7ea7\u670d\u52a1\u5668\n            manifestPlaceholders = [UMENG_CHANNEL_VALUE: &quot;update&quot;]\n        }\n        GooglePlay {  \/\/\u6295\u653eGooglePlay\n            manifestPlaceholders = [UMENG_CHANNEL_VALUE: &quot;googleplay&quot;]\n        }\n        Tencent {  \/\/\u6295\u653e\u5e94\u7528\u5b9d\u5e02\u573a\n            manifestPlaceholders = [UMENG_CHANNEL_VALUE: &quot;tencent&quot;]\n        }\n        Wandoujia {  \/\/\u6295\u653e\u8c4c\u8c46\u835a\u5e02\u573a\n            manifestPlaceholders = [UMENG_CHANNEL_VALUE: &quot;wandoujia&quot;]\n        }\n        Huawei {  \/\/\u6295\u653e\u534e\u4e3a\u5e02\u573a\n            manifestPlaceholders = [UMENG_CHANNEL_VALUE: &quot;huawei&quot;]\n        }\n        Xiaomi {  \/\/\u6295\u653e\u5c0f\u7c73\u5e02\u573a\n            manifestPlaceholders = [UMENG_CHANNEL_VALUE: &quot;xiaomi&quot;]\n        }\n        Vivo {  \/\/\u6295\u653eVivo\u5e02\u573a\n            manifestPlaceholders = [UMENG_CHANNEL_VALUE: &quot;vivo&quot;]\n        }\n        Oppo {  \/\/\u6295\u653eOppo\u5e02\u573a\n            manifestPlaceholders = [UMENG_CHANNEL_VALUE: &quot;oppo&quot;]\n        }\n    }\n\n\/\/    productFlavors.all {\n\/\/        flavor -&gt; flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]\n\/\/    }\n}<\/code><\/pre>\n<h2>\u6253\u5305\u547d\u4ee4<\/h2>\n<p>\u4f7f\u7528<code>gradlew assembleRelease<\/code>\u6253\u751f\u4ea7\u5305\uff1b<code>gradlew assembleDebug<\/code>\u6253\u6d4b\u8bd5\u5305\uff0c\u901a\u5e38\u4e0a\u6b63\u5f0f\u6e20\u9053\u53ea\u9700\u8981release\u5305<\/p>\n<pre><code>..\\gradlew.bat assembleDefaultDebug assembleDefaultRelease\n..\\gradlew.bat assembleDevelopDebug assembleDevelopRelease\n..\\gradlew.bat assembleGooglePlayDebug assembleGooglePlayRelease\n..\\gradlew.bat assembleHomeRelease assembleUpdateRelease assembleTencentRelease assembleWandoujiaRelease assembleHuaweiRelease assembleXiaomiRelease assembleVivoRelease assembleOppoRelease<\/code><\/pre>\n<h2>\u96c6\u6210\u53cb\u76df\u7edf\u8ba1\u529f\u80fd<\/h2>\n<p>\u57fa\u7840\u7edf\u8ba1\u96c6\u6210\uff1a<a target=\"_blank\" rel=\"noopener\" href=\"https:\/\/developer.umeng.com\/docs\/119267\/detail\/118588\">https:\/\/developer.umeng.com\/docs\/119267\/detail\/118588<\/a><br \/>\n\u9ad8\u7ea7\u529f\u80fd\u96c6\u6210\uff1a<a target=\"_blank\" rel=\"noopener\" href=\"https:\/\/developer.umeng.com\/docs\/119267\/detail\/118637\">https:\/\/developer.umeng.com\/docs\/119267\/detail\/118637<\/a><\/p>\n<pre><code>UMConfigure.init(context, UMConfigure.DEVICE_TYPE_PHONE, &quot;Umeng Message Secret&quot;);\n\n\/\/ \u9009\u7528AUTO\u9875\u9762\u91c7\u96c6\u6a21\u5f0f\nMobclickAgent.setPageCollectionMode(MobclickAgent.PageMode.AUTO);\n\n\/\/ \u652f\u6301\u5728\u5b50\u8fdb\u7a0b\u4e2d\u7edf\u8ba1\u81ea\u5b9a\u4e49\u4e8b\u4ef6\nUMConfigure.setProcessEvent(true);<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>AndroidManifest.xml &lt;application&gt; &lt;!&#8211;\u53cb\u76df&#8211;&gt; [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[202],"tags":[321],"class_list":["post-1283","post","type-post","status-publish","format-standard","hentry","category-android-build","tag-321"],"_links":{"self":[{"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/posts\/1283","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/comments?post=1283"}],"version-history":[{"count":0,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/posts\/1283\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/media?parent=1283"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/categories?post=1283"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/tags?post=1283"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}