发表于: 2017-02-23 00:25:53

1 923


今天完成的事情:1.打包正式签名的Apk文件

使用AndroidStudio生成:在Generate Signed APK 可视化工具里生成。先创建一个keyStore文件,然后选择debug类型还是release类型,生成Apk

使用Gradle生成:在app下的build.gradle文件里的android闭包中加入以下闭包

 signingConfigs {

        config{

            storeFile file(KEY_PATH)

            storePassword KEY_PASS

            keyAlias ALIAS_NAME

            keyPassword ALIAS_PASS

        }

    }

在项目的根目录下的gradle.properties文件里添加键值对

KEY_PATH= 签名文件(.jks文件)路径

KEY_PASS=  签名文件密码

ALIAS_NAME= 文件别名

ALIAS_PASS= 别名密码

在buildTypes里的release中加入  signingConfig signingConfigs.config

运行gradle里的assembleRelease任务就可以得到apk文件了

2.打包多个渠道的apk

           在app的build.gradle的android闭包下添加。这里新增了3个渠道baidu,wandoujia,yingyongbao。这个名字可以随便取

 productFlavors{

        baidu{ 

applicationId "com.jiaoyang.goldnews.baidu"                      //重写applicationId,这样生成的apk文件包名也会不同,可以在同一个设备上安装。

        }

        wandoujia{

            applicationId "com.jiaoyang.goldnews.wandoujia"

        }

        yingyongbao{

            applicationId "com.jiaoyang.goldnews.yingyongbao"

        }

    }

如果想要在应用上显示不同的应用名称或者图标,比如金信百度版,金信华为版,并且在图标上加上百度或华为的Logo,则可以在app的src文件下新建baidu,wandoujia,yingyongbao文件夹,记得和build文件中定义的一样。

在baidu文件夹下新建AndroidManifest.xml文件,内容如下

<manifest

    xmlns:tools="http://schemas.android.com/tools"     //定义一个tools自定义命名空间。

    xmlns:android="http://schemas.android.com/apk/res/android"

    package="com.jiaoyang.goldnews">

    <application

              tools:replace="android:icon"  //这个属性不能少,不然程序无法运行

              android:icon="@mipmap/about"   //修改应用图标

       >

        <meta-data

            tools:replace="android:value"    //这个属性不能少,不然程序无法运行

            android:name="UMENG_CHANNEL" android:value="BAIDU"/>  //友盟统计的渠道名称

    </application>

</manifest>

明天计划的事情:看一下推送
遇到的问题:加入友盟统计的Sdk后,编译程序有问题 Android xxx is not translated 

在android闭包中加入

lintOptions {

        checkReleaseBuilds false

        abortOnError false

    }

收获:



返回列表 返回列表
评论

    分享到