为了账号安全,请及时绑定邮箱和手机立即绑定

Android Apk多渠道打包

学习人数
难度级别 中级
课程时长 48分
综合评分 9.9
9人评价 查看评价
10.0 内容实用
10.0 简洁易懂
9.6 逻辑清晰

简介:通过对本课程的学习, 要让学员对多渠道打包有比较深入的了解 慕课网Android讨论群② 170368200

  • productFlavors {
    
    	xiaomi {
    		//manifestPlaceholders = [UMENG_CHANNEL_VALUE:"xiaomi"]
    		resValue "string", "app_name", "xiaomi_app"	
    	}
    
    	wandoujia {
    		resValue "string", "app_name", "wandoujia_app"
    	}
    	okhttp {
    		applicationIdSuffix "okhttp"
    		resValue "string", "app_name", "okhttp"	
    	}
    	jpush {
    		applicationIdSuffix "jpush"
    		resValue "string", "app_name", "jpush"	
    	}
    }
    
    productFlavors.all {
    	flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
    }
    
    }
    
    dependencies {
    	compile fileTree(dir: 'libs', incluede :['*.jar'])
    	compile 'com.android.support:appcompat-v7:23.1.1'
    	compile 'com.squareup.okhttp3:okhtto:3.0.1'
    	compile 'com.jakewharton:disklrucache:2.0.2'
    	compile 'com.livedise:permissiongen:0.0.6'
    
    	compile 'com.umeng.analytics:analytics:latest.integration'
    }
  • android {
    
    defaultConfig {
    ...
    multiDexEnabled true //突破应用方法数65535的一个限制
    manifestPlaceholders = [UMENG_CHANNEL_VALUE: "umeng"]
    }
    
    //添加签名文件配置
    signingConfigs {
    	debug {}
    	release {
    		storeFile file("common.jks")
    		storePassword ""
    		keyAlias ""
    		keyPassword ""	
    	}
    
    }
    
    buildTypes {
    	release {
    		minifyEnabled false
    		proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-rules.proguard'
    		signingConfig signingConfigs.release
    
    		//指定release包的输出文件名就是渠道名
    		applicationVariantes.all { variant ->
    			variant.outputs.each { output ->
    				def outFile = output.outputFile
    				if (outFile != null && outFile.endWith(".apk")) {
    					def fileName = "${variant.productFlavors[0].name}"+".apk"
    					output.outputFile = new File(outFile.parent, fileName);
    		}	
    	}
    }
  •  - 使用友盟多渠道打包
    上官网注册,获得appkey
    下载sdk并集成,推荐使用AS集成
    manifest.xml中配置渠道号和脚本
    build.gradle
    
    1.添加对友盟库的依赖
    2.在Manifest.xml中声明appkey,以及渠道占位符
    3.在应用的build.gradle中动态替换掉占位符的value即可
    4.在控制台使用./gradlew assembleRelease 自动打出所有渠道的包
  •  - 多渠道
    渠道是国内Android平台特有的名词
    由于google play无法使用,因此出现众多市场
    一个渠道代表一个应用市场
    
     - 使用场景
    只要应用提供了多种下载途径,就对应多渠道
    
     - 多渠道的意义
    通过多渠道,可以详细统计app被下载的途径
    可以查看app在每个渠道的表面
    有利于app的推广
    
     - 多渠道打包原理,
    为每个平台或市场的apk制定一个唯一的标识符
  • 针对国内android 市场 多渠道打包 的解决方案
  • 多渠道打包
  • 多渠道其实就是多个应用市场

讲师提示

qndroid 移动开发工程师
课程须知
熟练掌握安卓基础知识,有一定完整项目开发加上线经验。针对于中高级用户会好一些
老师告诉你能学到什么?
实现多渠道打包,实现一套代码,多种平台打包上线 慕课网Android讨论群② 170368200
意见反馈 常见问题 APP下载
官方微信