当前位置: 首页 > news >正文

网站设计 用户心理研究网络营销的常用方法

网站设计 用户心理研究,网络营销的常用方法,赣州做网站什么价格,郑州上市企业网站建设目录 1.添加productFlavors的配置buildConfigFieldmanifestPlaceholdersresValue 2.设置apk文件的名称,便于识别3.添加vasdolly、添加gradle脚本(windows) 作用:一次性可以打多个apk包,名字、包名、logo等可以不相同。…

目录

    • 1.添加productFlavors的配置
      • buildConfigField
      • manifestPlaceholders
      • resValue
    • 2.设置apk文件的名称,便于识别
    • 3.添加vasdolly、添加gradle脚本(windows)

作用:一次性可以打多个apk包,名字、包名、logo等可以不相同。解决了每次发版都要手动修改代码的问题,例如:名字、logo等。

配置build.gradle(app)

1.添加productFlavors的配置

android{.....
//设置风味的维度flavorDimensions = ["release"]//productFlavors中有两套配置,huawei、oppo。productFlavors {huawei {versionCode 8versionName "1.7.33"dimension "release"applicationId "test.test.abc"resValue "string", "file_provider_name_personal", applicationId + ".provider"manifestPlaceholders = [apkName: '语文',apkIcon: '@drawable/yuwen']ndk {abiFilters "arm64-v8a"//"armeabi-v7a" , "arm64-v8a"}buildConfigField "int", "COMPANY", "1"}oppo {versionCode 7versionName "1.6.30"dimension "release"applicationId "test.test.abc"resValue "string", "file_provider_name_personal", applicationId + ".provider"manifestPlaceholders = [apkName: '数学',apkIcon: '@drawable/yuwen']ndk {abiFilters "arm64-v8a"//"armeabi-v7a" , "arm64-v8a"}buildConfigField "int", "COMPANY", "4"}}
}
 buildConfigField "int", "COMPANY", "1"

buildConfigField

buildConfigField申明了一个常量,方便在代码中进行使用。

BuildConfig文件:

public final class BuildConfig {public static final int COMPANY = 1;
}

使用buildConfigField

public class MyApplication extends Application {@Overridepublic void onCreate() {Constant.URL_PROTOCOLUSE = "http://xxx.xxx.cn/api/pro.jsp?company=" + BuildConfig.COMPANY + "&apptype=" + getString(R.string.app_name);}
}

manifestPlaceholders

设置在manifest中数据

            manifestPlaceholders = [apkName: '数学',apkIcon: '@drawable/yuwen']
 <applicationandroid:name=".MainApplication"android:allowBackup="false"android:icon="${apkIcon}"android:label="${apkName}"></application>

resValue

声明一个在Strings.xml中的字符串。

resValue "string", "file_provider_name_personal", applicationId + ".provider"

声明后,会自动生成。

<?xml version="1.0" encoding="utf-8"?>
<resources><!-- Automatically generated file. DO NOT MODIFY --><string name="file_provider_name_personal" translatable="false">test.test.abc</string></resources>

2.设置apk文件的名称,便于识别


static def releaseTime() {SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");return formatter.format(new Date())
}
android {....applicationVariants.all { variant ->variant.outputs.all { output ->def outputFile = output.outputFiledef fileNameif (outputFile != null && outputFile.name.endsWith('.apk')) {if (variant.buildType.name.equals('release')) {//如果是release包fileName = "${productFlavors.name}-${buildType.name}-${productFlavors.versionName}-" +"${productFlavors.versionCode}-${releaseTime()}.apk"} else if (variant.buildType.name.equals('debug')) {//如果是debug包fileName = "${productFlavors.name}-${buildType.name}-${productFlavors.versionName}-" +"${productFlavors.versionCode}.apk"}outputFileName = fileName}}}
}

打出的apk,名字-包类型-版本名称-版本号
在这里插入图片描述
一次性打多个包,使用assemble
在这里插入图片描述
assemble执行完毕后,在app/build/outputs/apk中寻找。大致样子如下
在这里插入图片描述

3.添加vasdolly、添加gradle脚本(windows)

vasdolly使用
https://github.com/Tencent/VasDolly

在build.gradle(app)文件中加入如下

Properties properties = new Properties()
properties.load(project.rootProject.file('local.properties').newDataInputStream())
def sdkDir = properties.getProperty("sdk.dir")
def buildToolsVersion = '33.0.1'//工具版本
def consolidatePath = "./build/consolidate/"
def storePwd = " "//keystore文件密码
def alias = " "//keystore文件alias
def keyPwd = " "//keystore文件密码def jksPath = "C:\\Users\\xxx\\Desktop\\资料\\app.keystore"//keystore文件路径
/*** 优化加签名*/
task batchSign {doLast {File consolidateDir = new File(project.buildDir, "consolidate/")consolidateDir.eachFile { apkFile ->def unsignedFileName = apkFile.getName()def lastchar = unsignedFileName.indexOf(".apk")def fileName = unsignedFileName.substring(0, lastchar)def zipalignedFileName = "${fileName}_zipaligned.apk"def signedFileName = "${fileName}_signed.apk"def buildToolsPath = "${sdkDir}\\build-tools\\${buildToolsVersion}"def command = "${buildToolsPath}\\zipalign -f -p 4 ${consolidatePath}${unsignedFileName} ${consolidatePath}${zipalignedFileName} && " +"del ${project.buildDir}\\consolidate\\${unsignedFileName} && " +"${buildToolsPath}\\apksigner sign --ks ${jksPath} --ks-pass " +"pass:${storePwd} --ks-key-alias ${alias} --key-pass pass:${keyPwd} --out " +"${consolidatePath}${signedFileName} ${consolidatePath}${zipalignedFileName} && " +"del ${project.buildDir}\\consolidate\\${zipalignedFileName} && " +"del ${project.buildDir}\\consolidate\\${fileName}_signed.apk.idsig"println(command)exec {ExecSpec execSpec ->executable 'cmd'args '/c', command}}}
}
/*
将apk优化和签名后,添加渠道
打渠道包*/
task makeChannel {def publishPath = "./build/publish/"doLast {def channels = "./channels.txt"  //vasdolly的相关文件File consolidateDir = new File(project.buildDir, "consolidate/")consolidateDir.eachFile { apkFile ->def command = "java -jar D:\\android\\gitdown\\VasDolly.jar put -c ${channels} ${apkFile.getAbsolutePath()} ${publishPath}"try {exec {commandLine 'cmd', '/c', command}} catch (Exception e) {e.printStackTrace()}}}
}
task bundleAndChannel {dependsOn(batchSign)dependsOn(makeChannel)
}

编译之后面,在gradle中就会出现bundleAndChannel
在这里插入图片描述
准备加固、签名、渠道

在app/build/目录下,创建consolidate和publish文件。
将360加固后的apk,复制到app/build/consolidate文件中。
双击bundleAndChannel ,等待编辑,就可以了。
在这里插入图片描述

http://www.khdw.cn/news/41042.html

相关文章:

  • 完整网站源码aspseo专业实战培训
  • 福建省城乡建设信息网站优化服务是什么意思
  • wordpress本地更换为网站域名百度做网站推广的费用
  • 漂亮的网页界面百度seo推广软件
  • 合肥公司网站建设价格快速seo排名优化
  • 近期十大热点新闻哪里搜索引擎优化好
  • 这么建立com的网站网络精准营销推广
  • 做船公司网站58同城关键词怎么优化
  • jsp和.net做网站的区别互联网广告投放
  • 网站开发模型工具长沙网站制作策划
  • 鄞州区住房和城乡建设局网站seo关键词推广价格
  • 金坛网站优化目录搜索引擎有哪些
  • 怎样做网站首页图片变换什么推广方式能快速引流
  • 35互联做网站好吗免费自制app软件
  • 租房网站开发功能需求网站自动推广软件免费
  • b站做视频哪个网站收入网站关键词推广价格
  • 多用户分销系统一般有哪些aso关键词优化工具
  • 中国制造网建站青岛网站建设公司电话
  • 淘宝网站上的图片是怎么做的百度自助建站官网
  • linux做网站杭州seo网站优化公司
  • 网站建设人员职责青岛seo关键字排名
  • 什么网站可以自己做配图企业文化墙
  • 方一凡和磊儿做家教的网站电商网站模板
  • 做服装搭配的流行趋势网站长春网站建设 4435
  • 网站备案证书下载失败自己建网站流程
  • 长沙网站建设推荐网站怎样才能在百度被搜索到
  • 深圳电商网站开发市场营销策划方案案例
  • 网站的流量建设微信管理系统平台
  • 做分类网站用什么cms企业营销战略
  • 小程序开发工具代理平台东莞seo优化