首页 > 其他分享 >Android Studio 友盟api实现apk多渠道打包

Android Studio 友盟api实现apk多渠道打包

时间:2023-03-02 13:03:26浏览次数:45  
标签:outputFile name app manifestPlaceholders compile apk api Studio com


本篇主要给大家介绍利用友盟api实现Android多渠道打包,进入友盟的官网,注册账号,添加对应的应用。

1.添加友盟库的依赖

Android Studio 友盟api实现apk多渠道打包_打包

2.在manifest.xml中声明appkey,以及渠道占位符

Android Studio 友盟api实现apk多渠道打包_打包_02

3.builder.gradle相关脚本配置,添加默认的渠道名

Android Studio 友盟api实现apk多渠道打包_打包_03

Android Studio 友盟api实现apk多渠道打包_多渠道_04

Android Studio 友盟api实现apk多渠道打包_android_05

Android Studio 友盟api实现apk多渠道打包_xml_06

4.执行命令gradlew assembleRelease打出所有渠道的Release包,相似的命令如:assembleDebug(只打Debug包)、assemblewandoujiaRelease(只打豌豆荚渠道的包)

命令执行成功生成的安装包:

Android Studio 友盟api实现apk多渠道打包_android_07

Android Studio 友盟api实现apk多渠道打包_打包_08

Android Studio 友盟api实现apk多渠道打包_android_09

完整的builder.gradle配置代码如下

apply plugin: 'com.android.application'

android {
compileSdkVersion 23
buildToolsVersion "23.0.2"

defaultConfig {
applicationId "com.czhappy.autoinstall"
minSdkVersion 14
targetSdkVersion 23
versionCode 1
versionName "1.0"
multiDexEnabled true //突破应用方法数65535的一个限制
manifestPlaceholders=[UMENG_CHANNEL_VALUE:"umeng"]
}


/*
添加签名文件
*/
signingConfigs{
Debug{}

//为我们的release添加签名配置
release{

storeFile file("cztest.jks")
storePassword "happy123456"
keyAlias "happy"
keyPassword "happy123456"
}
}

buildTypes {
release {
minifyEnabled false//是否使用混淆
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

signingConfig signingConfigs.release

//指定输出的渠道文件名
applicationVariants.all{ variant->
variant.outputs.each{ output->
def outputFile = output.outputFile
if(outputFile!=null && outputFile.name.endsWith(".apk")){
def fileName = "${variant.productFlavors[0].name}" + ".apk"
output.outputFile = new File(outputFile.parent, fileName);

}

}

}
}
}

/*
渠道号名称
*/
productFlavors{
xiaomi{
//manifestPlaceholders=[UMENG_CHANNEL_VALUE:"xiaomi"]
//resValue "string", "app_name", "xiaomi_app"
}

wandoujia{
//manifestPlaceholders=[UMENG_CHANNEL_VALUE:"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', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.2.0'
compile 'com.squareup.okhttp3:okhttp:3.1.2'
compile 'com.lzy.net:okgo:2.1.4'
compile 'com.daimajia.numberprogressbar:library:1.2@aar'

compile 'com.umeng.analytics:analytics:latest.integration'
}


标签:outputFile,name,app,manifestPlaceholders,compile,apk,api,Studio,com
From: https://blog.51cto.com/u_4427045/6095984

相关文章

  • mac系统上hdfs java api的简单使用
    1、背景在上一节中,我们简单学习了在命令行上如何操作hdfsshellapi,此处我们通过java程序来操作一下。2、环境准备需要在本地环境变量中配置HADOOP_HOME或在程序启动......
  • mac系统上hdfs java api的简单使用
    目录1、背景2、环境准备3、环境搭建3.1引入jar包3.2引入log4j.properties配置文件3.3初始化HadoopApi4、javaapi操作4.1创建目录4.2上传文件4.3列出目录下有哪些文......
  • API 小白入门教程
    正如汽车行业必须达到一定的规模,才能让企业只生产一个部件。软件产业现在已经足够大了,尤其当你接受所谓的“软件吞噬世界”此类的说法时更是如此。因此,和汽车工业不再生产......
  • docker+gunicorn+fastapi部署
    一、准备工作1、先确保项目可以正常运行2、使用pipfreeze导出第三方库3、在项目根目录新建pip.conf文件,写入一下内容[global]index-url=http://......
  • (一)钉钉宜搭低代码应用开发高级认证之远程API调用方法示例
    大家好,我是代号六零一,在此分享近期学习的低代码开发知识~,如有疑问欢迎在评论区下方点评,作者愿与您一道共同探讨:一、创建数据源  二、请求地址配置钉钉路径示例:/d......
  • API进阶
    API2.1Math(应用)1、Math类概述Math包含执行基本数字运算的方法2、Math中方法的调用方式Math类中无构造方法,但内部的方法都是静态的,则可以通过类名.进行调......
  • combie solidity:maping reqire inheritance
    1,maping是映射,在本游戏中,地址映射id,id与地址绑定格式maping(adress=>uint)mapingfavoritNumber;访问格式是 faveriteNumber[adress]=uint这个是一对多的映射还......
  • 什么是API接口,具体是什么意思?
    说到API,往往是和SDK放在一起的。​​什么叫API​​,看一下餐厅里怎么点餐的就行了。到了饭店,喊一场服务员,点餐。服务员拿出来菜单给你看,你点什么,她在小本本上记什么。点好了......
  • Git推送错误提示:fatal: Authentication failed for 'https://github.com/PoppyPRC/XT_
    Git推送消息提示:fatal:Authenticationfailedfor'https://github.com/PoppyPRC/XT_APIFramework.git/' 解决方案:1、退出git,重新进入执行推送,重连会提示输入用户......
  • Visual Studio 修改NuGet 包路径
    阅读目录修改缓存文件夹路径修改下载文件夹路径 查看Nuget包缓存及下载文件夹dotnetnugetlocalsall--list 修改缓存文件夹路径mklink/d/j"%APPDATA......