zoukankan      html  css  js  c++  java
  • 【原生】CocosCreator apk打包发布 (APPABI、jsc、网易易盾、权限、app名称图标、包名、签名)

    Cocos版本:2.4.4 

    一 打包apk

    二 App ABi的勾选

    三 加密脚本

    四 网易易盾插件

    五 其它问题

    一 打包apk

    在android studio中,选择生成带签名的apk

     选择APK

    选择Module处,选择你的项目。

    然后如果已有签名jks文件则选择choose existing,并输入你的key store密码。  没有jks文件的话选择新建一个create new。

    选择create new,新建一个key store,记住你的密码。

    创建并选择key store后,选择下一步,选择v1。

    v1和v2的区别查看:浅谈android签名v1和v2

    二者签名所产生的结果:
    v1:在v1中只对未压缩的文件内容进行了验证,所以在APK签名之后可以进行很多修改——文件可以移动,甚至可以重新压缩。即可以对签名后的文件在进行处理
    v2:v2签名验证了归档中的所有字节,而不是单独的ZIP条目,如果您在构建过程中有任何定制任务,包括篡改或处理APK文件,请确保禁用它们,否则您可能会使v2签名失效,从而使您的APKs与Android 7.0和以上版本不兼容。

    点击finish后,进行打包apk,可以在build栏查看打包进度。

     打包成功后,会显示success;打包失败的话查看错误。

    在项目中找到release目录,下面有你打包出来的apk

    二  App ABI的勾选

    app abi对应不同的cpu设备,勾选的越多,适应的设备越多,包体越大。

    发布apk后在lib文件夹下可查看,一个有20M左右。感觉只需要勾选armeabi-v7a和x86就可以了。

     app abi设备的cpu类型:

    1. armeabiv-v7a: 第7代及以上的 ARM 处理器。2011年15月以后的生产的大部分Android设备都使用它.
    2. arm64-v8a: 第8代、64位ARM处理器,很少设备,三星 Galaxy S6是其中之一。
    3. armeabi: 第5代、第6代的ARM处理器,早期的手机用的比较多。
    4. x86: 平板、模拟器用得比较多。
    5. x86_64: 64位的平板。

    发布后在android项目中的APP ABI配置

    解压了几个线上游戏看了看lib文件夹

    三 加密脚本

    未加密的话解压apk包后,js的文件是这样的

     

    勾选加密后,js文件会变成jsc后缀的文件

     

    四 网易易盾插件

    商店里有免费插件 

     在游戏构建发布后,打开插件

    配置好后点击加密

    解压经过网易易盾加固的apk,解压后的apk里图片都无法查看

    json文件也无法阅读了

    js文件

    这个网易加固和cocos发布面板的加密可以共存。但是感觉这个插件是用来给网易易盾引流的。。。

    五 其它问题

    1 修改app的icon

    找android项目res路径下的app图标进行替换

     

     一共有好几个

     2 修改app的名称

    找到项目中的strings.xml文件,修改app_name名称

    app_name在AndroidManifest.xml文件中被引用

    3 修改包名

    4 修改权限

    安卓权限相关说明:Android中的权限

    所有安卓权限API:完整安卓权限API参考文档

    5 版本号设置

    versionCode  用于版本控制,当已安装app是2,新下载安装的app是1时,替换会失败。

    versionName 在安装时,安装界面显示给用户看的版本号

    6 签名错误

    在生成签名时报错

    在jdkin目录下shift+右键,选择打开命名窗口

    把keytool.exe拖动到窗口中

    再输入

    keytool -importkeystore -srckeystore F:GitCocos_DiablohotUpdatediablo.jks -destkeystore F:GitCocos_DiablohotUpdatediablo.jks -deststoretype pkcs12
    

     7 transformClassesAndResourcesWithProguardForRelease

    android打包时会对代码混淆,删除无用资源等,这个错误是开启了混淆但是找不到相应的类

    解决方案1:

    在build.gradle中将minifyEnabled和shrinkResources设置为false,则打包成功。

    解决方案2:

    在proguard-rules.pro文件中,将报错提示的类都设置为 

    -keep  xxxx

    -dontwarn xxxxxx

     

  • 相关阅读:
    【java编程】使用System.getProperty方法,如何配置JVM系统属性
    【java多线程】CountDownLatch
    【java多线程】ConcurrentLinkedHashMap
    【java编程】ServiceLoader使用看这一篇就够了
    【JVM】java对象
    【git】Git常用命令
    centos7安装配置mysql5.7
    第十三章 redis-cluster原理
    《mysql技术内幕 InnoDB存储引擎(第二版)》阅读笔记
    第二章 BIO与NIO
  • 原文地址:https://www.cnblogs.com/gamedaybyday/p/15122832.html
Copyright © 2011-2022 走看看