欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

AndroidStudio Gradle基于友盟的多渠道打包方法

程序员文章站 2023-12-15 16:23:16
androidstudio由于使用了gradle的进行项目构建,使我们开发app方便很多,今天我就给大家列出几点是用gradle的方便之处。 一、androidstudi...

androidstudio由于使用了gradle的进行项目构建,使我们开发app方便很多,今天我就给大家列出几点是用gradle的方便之处。

一、androidstudio gradle第三依赖统一管理
二、androidstudio gradle基于友盟的多渠道打包
三、androidstudio安全管理签名文件keystroe和签名密码

好久没写博客了,今天写一篇关于多渠道打包的文章。
首先我们要下载友盟的jar包,然后照着文档配置即可。(这里就不过多讲解了,直接看我的代码)
文档地址:http://dev.umeng.com/analytics/android-doc/integration?spm=0.0.0.0.szgw63

这是我的mainactivity

public class mainactivity extends appcompatactivity {

 @override
 protected void oncreate(bundle savedinstancestate) {
  super.oncreate(savedinstancestate);
  setcontentview(r.layout.activity_main);
  // 场景类型设置接口,设置为普通统计场景类型
  mobclickagent.setscenariotype(this, escenariotype.e_um_normal);

  string appkey = "";
  string channal = "";
  try {
   appkey = packagemanageruitls.getmatedatavalue(this, "umeng_appkey");
   channal = packagemanageruitls.getmatedatavalue(this, "umeng_channel");
  } catch (packagemanager.namenotfoundexception e) {
   e.printstacktrace();
  }
  mobclickagent.umanalyticsconfig config = new mobclickagent.umanalyticsconfig(this, appkey, channal);

  mobclickagent.startwithconfigure(config);

 }

 public void onresume() {
  super.onresume();
  mobclickagent.onresume(this);
 }

 public void onpause() {
  super.onpause();
  mobclickagent.onpause(this);
 }
}

这里写了一个工具类,获取清单文件的meta-data节点对应的值

/**
 * 作者:lcw 16-9-8
 * 博客:http://blog.csdn.net/lsyz0021/
 */
public class packagemanageruitls {
 /**
  * 获取 androidmanifest中application节点下meta-data节点的值
  *
  * @param context
  * @param key
  * @return
  * @throws packagemanager.namenotfoundexception
  */
 public static string getmatedatavalue(context context, string key) throws packagemanager.namenotfoundexception {

  applicationinfo appinfo = context.getpackagemanager().getapplicationinfo(context.getpackagename(), packagemanager.get_meta_data);

  string msg = appinfo.metadata.getstring(key);
  return msg;
 }

}

这是清单文件的配置

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
 package="com.hfax.umeng">

 <uses-permission android:name="android.permission.access_network_state" />
 <uses-permission android:name="android.permission.access_wifi_state" />
 <uses-permission android:name="android.permission.internet" />
 <uses-permission android:name="android.permission.read_phone_state" />

 <application
  android:allowbackup="true"
  android:icon="@mipmap/ic_launcher"
  android:label="@string/app_name"
  android:supportsrtl="true"
  android:theme="@style/apptheme">

  <meta-data
   android:name="umeng_appkey"
   android:value="57d11e6467e58e9051000d7e" />
  <meta-data
   android:name="umeng_channel"
   android:value="${umeng_channel_value}" />
  <meta-data
   android:name="base_url"
   android:value="${base_url}" />

  <activity android:name=".mainactivity">
   <intent-filter>
    <action android:name="android.intent.action.main" />

    <category android:name="android.intent.category.launcher" />
   </intent-filter>
  </activity>
 </application>

</manifest>

下面是核心的gredle配置
这里是测环境的配置(可以不配置,不影响多渠道)

AndroidStudio Gradle基于友盟的多渠道打包方法


渠道配置

AndroidStudio Gradle基于友盟的多渠道打包方法



打包生成apk

AndroidStudio Gradle基于友盟的多渠道打包方法

安装测试
首先测试安装包到友盟官网的渠道列表中可以看了。

上一篇:

下一篇: