项目打包、多渠道打包和发布app的建议

来源:互联网 发布:女人馒头蝴蝶 知乎 编辑:程序博客网 时间:2024/05/17 01:16

关于项目打包、多渠道打包和发布app的建议


对于一个android项目来说,我最喜欢的就是打包环节。

因为开发终于做好了,可以发包出来,给测试人员测试和使用,最后是上传到store,给用户下载使用。那个时候自豪感飙升啊。


打包之前,我们需要一个签名文件。

有人会问,为什么我们调试的时候,并没有 进行签名,还能在android手机上运行呢?原因是因为IDE在调试的时候,会用一个debug.jks的签名文件给我们的应用签名打包,所以我们调试的应用才能在android手机上面跑。

至于degug.jks签名文件在哪里?


在Eclipse里面编译生成的APK中有一个签名的,它默认的key是debug.keystore,它默认的路径是:

C:\Users\<用户名>\.Android\debug.keystore

mac的还没有找到(后续补上)

这个key的密码是:android 


我们可以输入如下命令来查看其详细信息:

keytool -list -keystore debug.keystore

输入密码:android

Keystore 类型: jks

Keystore 提供者: SUN

您的 keystore 包含 1 输入

androiddebugkey, 2009-10-29, keyEntry,

认证指纹 (MD5): 11:BB:9B:24:8**82:F9:4A:3A:**:**:**:FD:46:B6:4D


然后就是生成我们自己的keystore签名文件:

在studio文件里面,build-》generated signed apk —》,如果你的项目之前没有利用正式签名文件打包过,则要你选择一个签名文件,没有,就点击创建一个签名文件,然后就是要你输入密码等等的信息。如实填写就OK了。


创建好之后,就可以选择那个签名文件,然后的话就可以选择打包你的项目了。


关于多渠道打包问题:

比如你在360,豌豆荚,百度或者其它应用商店发布应用,我们需要统计每个应用商店下载的各项数据,就需要用到多渠道打包。

在app module 的build文件的android下面加入:

productFlavors {

        wandoujia {}

        baidu {}

        c360 {}

        uc {}

        productFlavors.all { flavor ->

            flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]

        }

    }


然后在androidmanifest.XML文件下面的

<meta-data

            android:name="UMENG_CHANNEL"

            android:value="${UMENG_CHANNEL_VALUE}" />

${UMENG_CHANNEL_VALUE}--会依次引用到上面加入的各个渠道。

最后我们可以看到,在gradle projects小窗的build下多处了每一个对应的渠道打包命令,如下图 



委屈图片没了


可以依次点击你需要的打包文件,或者直接点击assembleRelease命令,就可以打包出所以渠道的包。在项目的outputs文件夹下可以看到各个包了。前提是有一点,你的签名文件,必须在项目里面配置好了帐号密码,然后执行任务的时候,就可以直接根据你给的帐号密码就可以直接的进行打包。这种方式不推荐,因为签名文件都在项目里面了,这个可很危险,会被人轻易反编译出来。

所以这种方式我就不讲了。有需要的可以去网上搜索看下。


最后关于那个上传到app store的问题:

用自己的签名文件进行打包,几乎所有的app store都需要对你的app进行一次加固,然后要求你对加固的apk下载下来,再进行打包,才进行上传到store。

至少我在360里面上传是需要这样的步骤。

虽然有点小麻烦,但是还是很安全的。可以理解。


好了,这个就是我对项目打包上传的个人见解。

如有任何异议和疑问,请与我联系。


0 1
原创粉丝点击