使用HBuilderX 进行uniapp 打包Android APK

文章概览

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

打包-配置

HBuilder X打包APK

基础配置

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

APP启动界面配置

Android启动界面设置,使用原生隐私政策提示框,会在项目根目录下创建生成一个文件androidPrivacy.json

javascript 复制代码
{
    "version" : "1",
    "prompt" : "template",
    "title" : "用户协议和隐私政策",
    "message" : "  请你务必审慎阅读、充分理解"用户协议"和"隐私政策"各条款,包括但不限于:为了更好的向你提供服务,我们需要收集你的设备标识、操作日志等信息用于分析、优化应用性能。<br/>  你可阅读<a href=\"xxx\">《用户协议》</a>和<a href=\"xxx\">《隐私政策》</a>了解详细信息。如果你同意,请点击下面按钮开始接受我们的服务。",
    "buttonAccept" : "同意并接受",
    "buttonRefuse" : "暂不同意",
    "hrefLoader" : "system",
    "backToExit" : "false",
    "second" : {
        "title" : "确认提示",
        "message" : "  进入应用前,你需先同意<a href=\"xxx\">《用户协议》</a>和<a href=\"xxx\">《隐私政策》</a>,否则将退出应用。",
        "buttonAccept" : "同意并继续",
        "buttonRefuse" : "退出应用"
    },
    "disagreeMode" : {
        "support" : false,
        "loadNativePlugins" : false,
        "visitorEntry" : false,
        "showAlways" : false
    },
    "styles" : {
        "backgroundColor" : "#F1F1F1",
        "borderRadius" : "5px",
        "title" : {
            "color" : "#000"
        },
        "buttonAccept" : {
            "color" : "#000"
        },
        "buttonRefuse" : {
            "color" : "#ccc"
        },
        "buttonVisitor" : {
            "color" : "#aaa"
        }
    }
}
APP模块配置

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

APP权限配置
javascript 复制代码
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.READ_LOGS"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-feature android:name="android.hardware.camera.autofocus"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.FLASHLIGHT"/>
<uses-feature android:name="android.hardware.camera"/>
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
<uses-permission android:name="android.permission.INSTALL_PACKAGES"/>
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
APP常用其它配置

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

源码视图
javascript 复制代码
{
    "name" : "",
    "appid" : "",
    "description" : "",
    "versionName" : "1.0.0",
    "versionCode" : 2,
    "transformPx" : false,
    /* 5+App特有相关 */
    "app-plus" : {
        "usingComponents" : true,
        "nvueStyleCompiler" : "uni-app",
        "compilerVersion" : 3,
        "splashscreen" : {
            "alwaysShowBeforeRender" : true,
            "waiting" : true,
            "autoclose" : true,
            "delay" : 0
        },
        /* 模块配置 */
        "modules" : {
            "Payment" : {}
        },
        /* 应用发布信息 */
        "distribute" : {
            /* android打包配置 */
            "android" : {
                "permissions" : [
                    "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
                    "<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
                    "<uses-permission android:name=\"android.permission.VIBRATE\"/>",
                    "<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
                    "<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
                    "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
                    "<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
                    "<uses-permission android:name=\"android.permission.CAMERA\"/>",
                    "<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
                    "<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
                    "<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
                    "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
                    "<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
                    "<uses-feature android:name=\"android.hardware.camera\"/>",
                    "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>",
                    "<uses-permission android:name=\"android.permission.INSTALL_PACKAGES\"/>",
                    "<uses-permission android:name=\"android.permission.REQUEST_INSTALL_PACKAGES\"/>"
                ],
                "targetSdkVersion" : 30
            },
            /* ios打包配置 */
            "ios" : {
                "dSYMs" : false,
                "idfa" : false
            },
            /* SDK配置 */
            "sdkConfigs" : {
                "ad" : {},
                "payment" : {
                    "alipay" : {
                        "__platform__" : [ "android" ]
                    }
                }
            },
            "icons" : {
                "android" : {
                    "hdpi" : "unpackage/res/icons/72x72.png",
                    "xhdpi" : "unpackage/res/icons/96x96.png",
                    "xxhdpi" : "unpackage/res/icons/144x144.png",
                    "xxxhdpi" : "unpackage/res/icons/192x192.png"
                },
                "ios" : {
                    "appstore" : "unpackage/res/icons/1024x1024.png",
                    "ipad" : {
                        "app" : "unpackage/res/icons/76x76.png",
                        "app@2x" : "unpackage/res/icons/152x152.png",
                        "notification" : "unpackage/res/icons/20x20.png",
                        "notification@2x" : "unpackage/res/icons/40x40.png",
                        "proapp@2x" : "unpackage/res/icons/167x167.png",
                        "settings" : "unpackage/res/icons/29x29.png",
                        "settings@2x" : "unpackage/res/icons/58x58.png",
                        "spotlight" : "unpackage/res/icons/40x40.png",
                        "spotlight@2x" : "unpackage/res/icons/80x80.png"
                    },
                    "iphone" : {
                        "app@2x" : "unpackage/res/icons/120x120.png",
                        "app@3x" : "unpackage/res/icons/180x180.png",
                        "notification@2x" : "unpackage/res/icons/40x40.png",
                        "notification@3x" : "unpackage/res/icons/60x60.png",
                        "settings@2x" : "unpackage/res/icons/58x58.png",
                        "settings@3x" : "unpackage/res/icons/87x87.png",
                        "spotlight@2x" : "unpackage/res/icons/80x80.png",
                        "spotlight@3x" : "unpackage/res/icons/120x120.png"
                    }
                }
            },
            "splashscreen" : {
                "useOriginalMsgbox" : true
            }
        }
    },
    /* 快应用特有相关 */
    "quickapp" : {},
    /* 小程序特有相关 */
    "mp-weixin" : {
        "appid" : "",
        "setting" : {
            "urlCheck" : false
        },
        "usingComponents" : true
    },
    "mp-alipay" : {
        "usingComponents" : true,
        "appid" : ""
    },
    "mp-baidu" : {
        "usingComponents" : true
    },
    "mp-toutiao" : {
        "usingComponents" : true
    },
    "uniStatistics" : {
        "enable" : false
    },
    "vueVersion" : "2",
    "h5" : {
        "router" : {
            "mode" : "history",
            "base" : ""
        }
    },
    "channel_list" : [
        {
            "id" : "chuizi",
            "name" : "锤子应用市场"
        },
        {
            "id" : "meizu",
            "name" : "魅族应用市场"
        }
    ]
}
/* ios打包配置 *//* SDK配置 */
 
云打包

发行-原生App-云打包

其中渠道打包,HBuilderx自身支持上图渠道包中未圈中的渠道,想自己添加渠道,需要在源码试图中添加,将下面的渠道代码放到源码视图的代码根目录中,可以看打包-配置-源码视图

javascript 复制代码
"channel_list" : [
        {
            "id" : "chuizi",
            "name" : "锤子应用市场"
        },
        {
            "id" : "meizu",
            "name" : "魅族应用市场"
        }
    ]
上架审核

1、上架apk必须为最新版本

2、需要APP电子版权认证证书

3、APP完成备案

4、无三方产品素材

等等,根据上架审核的时候具体的驳回原因进行修改即可。

相关推荐
m0_748234522 小时前
webstorm开发uniapp(从安装到项目运行)
uni-app·notepad++·webstorm
m0_748248772 小时前
【前端 Uniapp】使用Vant打造Uniapp项目(避坑版)
前端·uni-app
java156550579702 小时前
【uni-app】App与webview双向实时通信
uni-app
jzlhll1233 小时前
android编译assets集成某文件太大更新导致git仓库变大
android
niew~8 小时前
用uni-app写的开灯、关灯的面板界面
前端·javascript·uni-app
寰梦9 小时前
Docker(Nginx) 部署 uniapp
nginx·docker·uni-app
高林雨露10 小时前
ImageView android:scaleType各种属性
android·imageview各种属性
Hi-Dison10 小时前
OpenHarmony系统中实现Android虚拟化、模拟器相关的功能,包括桌面显示,详细解决方案
android
事业运财运爆棚12 小时前
http 502 和 504 的区别
android