使用HBuilderX 进行uniapp 打包Android APK 保姆教程

打印 上一主题 下一主题

主题 1004|帖子 1004|积分 3012

文章概览

     公司业务项目需要打包apk上传的应用市场,打包过程、上架过程、审核驳回等碰到的问题解决,以及操作步骤。
     打包-设置

     HBuilder X打包APK
     基础设置

     应用版本名称/应用版本号:设置必须比上一个版本的值高
     

     APP启动界面设置

     

     Android启动界面设置,使用原生隐私政策提示框,会在项目根目录下创建生成一个文件androidPrivacy.json
                                   登录后复制                        
  1. {
  2.     "version" : "1",
  3.     "prompt" : "template",
  4.     "title" : "用户协议和隐私政策",
  5.     "message" : "  请你务必审慎阅读、充分理解“用户协议”和“隐私政策”各条款,包括但不限于:为了更好的向你提供服务,我们需要收集你的设备标识、操作日志等信息用于分析、优化应用性能。<br/>  你可阅读<a href="xxx">《用户协议》</a>和<a href="xxx">《隐私政策》</a>了解详细信息。如果你同意,请点击下面按钮开始接受我们的服务。",
  6.     "buttonAccept" : "同意并接受",
  7.     "buttonRefuse" : "暂不同意",
  8.     "hrefLoader" : "system",
  9.     "backToExit" : "false",
  10.     "second" : {
  11.         "title" : "确认提示",
  12.         "message" : "  进入应用前,你需先同意<a href="xxx">《用户协议》</a>和<a href="xxx">《隐私政策》</a>,否则将退出应用。",
  13.         "buttonAccept" : "同意并继续",
  14.         "buttonRefuse" : "退出应用"
  15.     },
  16.     "disagreeMode" : {
  17.         "support" : false,
  18.         "loadNativePlugins" : false,
  19.         "visitorEntry" : false,
  20.         "showAlways" : false
  21.     },
  22.     "styles" : {
  23.         "backgroundColor" : "#F1F1F1",
  24.         "borderRadius" : "5px",
  25.         "title" : {
  26.             "color" : "#000"
  27.         },
  28.         "buttonAccept" : {
  29.             "color" : "#000"
  30.         },
  31.         "buttonRefuse" : {
  32.             "color" : "#ccc"
  33.         },
  34.         "buttonVisitor" : {
  35.             "color" : "#aaa"
  36.         }
  37.     }
  38. }
复制代码
      

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
                       APP模块设置

     这个需要根据自己的项目需求进行设置
     

     APP权限设置

                                   登录后复制                        
  1. <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
  2. <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
  3. <uses-permission android:name="android.permission.VIBRATE"/>
  4. <uses-permission android:name="android.permission.READ_LOGS"/>
  5. <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
  6. <uses-feature android:name="android.hardware.camera.autofocus"/>
  7. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
  8. <uses-permission android:name="android.permission.CAMERA"/>
  9. <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
  10. <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
  11. <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
  12. <uses-permission android:name="android.permission.WAKE_LOCK"/>
  13. <uses-permission android:name="android.permission.FLASHLIGHT"/>
  14. <uses-feature android:name="android.hardware.camera"/>
  15. <uses-permission android:name="android.permission.WRITE_SETTINGS"/>
  16. <uses-permission android:name="android.permission.INSTALL_PACKAGES"/>
  17. <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
复制代码
      

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
                       APP常用其它设置

     有些应用市场targetSdkVersion版本有要求,需要在这里进行设置
     

     最好关闭使用广告标识(IDFA) 在上架应用市场的时候会被检测到
     

     源码视图

                                   登录后复制                        
  1. {
  2.     "name" : "",
  3.     "appid" : "",
  4.     "description" : "",
  5.     "versionName" : "1.0.0",
  6.     "versionCode" : 2,
  7.     "transformPx" : false,
  8.     /* 5+App特有相关 */
  9.     "app-plus" : {
  10.         "usingComponents" : true,
  11.         "nvueStyleCompiler" : "uni-app",
  12.         "compilerVersion" : 3,
  13.         "splashscreen" : {
  14.             "alwaysShowBeforeRender" : true,
  15.             "waiting" : true,
  16.             "autoclose" : true,
  17.             "delay" : 0
  18.         },
  19.         /* 模块配置 */
  20.         "modules" : {
  21.             "Payment" : {}
  22.         },
  23.         /* 应用发布信息 */
  24.         "distribute" : {
  25.             /* android打包配置 */
  26.             "android" : {
  27.                 "permissions" : [
  28.                     "<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>",
  29.                     "<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>",
  30.                     "<uses-permission android:name="android.permission.VIBRATE"/>",
  31.                     "<uses-permission android:name="android.permission.READ_LOGS"/>",
  32.                     "<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>",
  33.                     "<uses-feature android:name="android.hardware.camera.autofocus"/>",
  34.                     "<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>",
  35.                     "<uses-permission android:name="android.permission.CAMERA"/>",
  36.                     "<uses-permission android:name="android.permission.GET_ACCOUNTS"/>",
  37.                     "<uses-permission android:name="android.permission.READ_PHONE_STATE"/>",
  38.                     "<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>",
  39.                     "<uses-permission android:name="android.permission.WAKE_LOCK"/>",
  40.                     "<uses-permission android:name="android.permission.FLASHLIGHT"/>",
  41.                     "<uses-feature android:name="android.hardware.camera"/>",
  42.                     "<uses-permission android:name="android.permission.WRITE_SETTINGS"/>",
  43.                     "<uses-permission android:name="android.permission.INSTALL_PACKAGES"/>",
  44.                     "<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>"
  45.                 ],
  46.                 "targetSdkVersion" : 30
  47.             },
  48.             /* ios打包配置 */
  49.             "ios" : {
  50.                 "dSYMs" : false,
  51.                 "idfa" : false
  52.             },
  53.             /* SDK配置 */
  54.             "sdkConfigs" : {
  55.                 "ad" : {},
  56.                 "payment" : {
  57.                     "alipay" : {
  58.                         "__platform__" : [ "android" ]
  59.                     }
  60.                 }
  61.             },
  62.             "icons" : {
  63.                 "android" : {
  64.                     "hdpi" : "unpackage/res/icons/72x72.png",
  65.                     "xhdpi" : "unpackage/res/icons/96x96.png",
  66.                     "xxhdpi" : "unpackage/res/icons/144x144.png",
  67.                     "xxxhdpi" : "unpackage/res/icons/192x192.png"
  68.                 },
  69.                 "ios" : {
  70.                     "appstore" : "unpackage/res/icons/1024x1024.png",
  71.                     "ipad" : {
  72.                         "app" : "unpackage/res/icons/76x76.png",
  73.                         "app@2x" : "unpackage/res/icons/152x152.png",
  74.                         "notification" : "unpackage/res/icons/20x20.png",
  75.                         "notification@2x" : "unpackage/res/icons/40x40.png",
  76.                         "proapp@2x" : "unpackage/res/icons/167x167.png",
  77.                         "settings" : "unpackage/res/icons/29x29.png",
  78.                         "settings@2x" : "unpackage/res/icons/58x58.png",
  79.                         "spotlight" : "unpackage/res/icons/40x40.png",
  80.                         "spotlight@2x" : "unpackage/res/icons/80x80.png"
  81.                     },
  82.                     "iphone" : {
  83.                         "app@2x" : "unpackage/res/icons/120x120.png",
  84.                         "app@3x" : "unpackage/res/icons/180x180.png",
  85.                         "notification@2x" : "unpackage/res/icons/40x40.png",
  86.                         "notification@3x" : "unpackage/res/icons/60x60.png",
  87.                         "settings@2x" : "unpackage/res/icons/58x58.png",
  88.                         "settings@3x" : "unpackage/res/icons/87x87.png",
  89.                         "spotlight@2x" : "unpackage/res/icons/80x80.png",
  90.                         "spotlight@3x" : "unpackage/res/icons/120x120.png"
  91.                     }
  92.                 }
  93.             },
  94.             "splashscreen" : {
  95.                 "useOriginalMsgbox" : true
  96.             }
  97.         }
  98.     },
  99.     /* 快应用特有相关 */
  100.     "quickapp" : {},
  101.     /* 小程序特有相关 */
  102.     "mp-weixin" : {
  103.         "appid" : "",
  104.         "setting" : {
  105.             "urlCheck" : false
  106.         },
  107.         "usingComponents" : true
  108.     },
  109.     "mp-alipay" : {
  110.         "usingComponents" : true,
  111.         "appid" : ""
  112.     },
  113.     "mp-baidu" : {
  114.         "usingComponents" : true
  115.     },
  116.     "mp-toutiao" : {
  117.         "usingComponents" : true
  118.     },
  119.     "uniStatistics" : {
  120.         "enable" : false
  121.     },
  122.     "vueVersion" : "2",
  123.     "h5" : {
  124.         "router" : {
  125.             "mode" : "history",
  126.             "base" : ""
  127.         }
  128.     },
  129.     "channel_list" : [
  130.         {
  131.             "id" : "chuizi",
  132.             "name" : "锤子应用市场"
  133.         },
  134.         {
  135.             "id" : "meizu",
  136.             "name" : "魅族应用市场"
  137.         }
  138.     ]
  139. }
  140. /* ios打包配置 *//* SDK配置 */
复制代码
      

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.
  • 70.
  • 71.
  • 72.
  • 73.
  • 74.
  • 75.
  • 76.
  • 77.
  • 78.
  • 79.
  • 80.
  • 81.
  • 82.
  • 83.
  • 84.
  • 85.
  • 86.
  • 87.
  • 88.
  • 89.
  • 90.
  • 91.
  • 92.
  • 93.
  • 94.
  • 95.
  • 96.
  • 97.
  • 98.
  • 99.
  • 100.
  • 101.
  • 102.
  • 103.
  • 104.
  • 105.
  • 106.
  • 107.
  • 108.
  • 109.
  • 110.
  • 111.
  • 112.
  • 113.
  • 114.
  • 115.
  • 116.
  • 117.
  • 118.
  • 119.
  • 120.
  • 121.
  • 122.
  • 123.
  • 124.
  • 125.
  • 126.
  • 127.
  • 128.
  • 129.
  • 130.
  • 131.
  • 132.
  • 133.
  • 134.
  • 135.
  • 136.
  • 137.
  • 138.
  • 139.
  • 140.
                       云打包

     发行-原生App-云打包
     

     

     其中渠道打包,HBuilderx自身支持上图渠道包中未圈中的渠道,想自己添加渠道,需要在源码试图中添加,将下面的渠道代码放到源码视图的代码根目录中,可以看打包-设置-源码视图
                                   登录后复制                        
  1. "channel_list" : [
  2.         {
  3.             "id" : "chuizi",
  4.             "name" : "锤子应用市场"
  5.         },
  6.         {
  7.             "id" : "meizu",
  8.             "name" : "魅族应用市场"
  9.         }
  10.     ]
复制代码
      

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
                       上架审核

     1、上架apk必须为最新版本
     2、需要APP电子版权认证证书
     3、APP完成备案
     4、无三方产品素材
     等等,根据上架审核的时候具体的驳回原因进行修改即可。
     版本升级检测

     参考文章:uniapp实现Android apk自动检测更新逼迫下载安装

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

缠丝猫

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表