复制libs
集成友盟+ App统计功能
在Application的onCreate方法中调用
1 2 3 4 5 6 7 8 9 10 11 12
|
try { UMConfigure.init(this, UMConfigure.DEVICE_TYPE_PHONE, "你的appID"); } catch (Exception e) { e.printStackTrace(); }
|
添加相应权限
1 2 3 4 5 6 7 8 9 10 11 12
| <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
配置渠道
1 2 3 4 5 6 7 8 9
| <manifest> <application ……> …… <meta-data android:value="你的AppID" android:name="UMENG_APPKEY"/> <meta-data android:value="${UMENG_CHANNEL_VALUE}" android:name="UMENG_CHANNEL"/> </application> </manifest>
|
代码混淆
1
| keep class com.umeng.commonsdk.** {*;}
|
多渠道配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| android { productFlavors { wandoujia {} yingyongbao {} c360 {} kq {} productFlavors.all { flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name] } } applicationVariants.all { variant -> variant.outputs.each { output -> def outputFile = output.outputFile def fileName def flavor = productFlavors.name; if (outputFile != null && outputFile.name.endsWith('.apk')) { if (variant.buildType.name.equals('release')) { fileName = "名字_${defaultConfig.versionName}_${flavor}.apk" } else if (variant.buildType.name.equals('debug')) { fileName = "名字_${defaultConfig.versionName}_debug_${flavor}.apk" } output.outputFile = new File(outputFile.parent, fileName) } } } }
|