使用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、无三方产品素材

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

相关推荐
乔冠宇3 小时前
微信小程序修改个人信息头像(uniapp开发)
微信小程序·小程序·uni-app
simplepeng5 小时前
我的天,我真是和androidx的字体加载杠上了
android
小猫猫猫◍˃ᵕ˂◍6 小时前
备忘录模式:快速恢复原始数据
android·java·备忘录模式
一个处女座的程序猿O(∩_∩)O7 小时前
Uniapp 开发中遇到的坑与注意事项:全面指南
uni-app
Elena_Lucky_baby7 小时前
uniapp 网络请求封装(uni.request 与 uView-Plus)
uni-app
CYRUS_STUDIO8 小时前
使用 AndroidNativeEmu 调用 JNI 函数
android·逆向·汇编语言
梦否8 小时前
【Android】类加载器&热修复-随记
android
徒步青云9 小时前
Java内存模型
android
今阳9 小时前
鸿蒙开发笔记-6-装饰器之@Require装饰器,@Reusable装饰器
android·app·harmonyos
黑云压城After11 小时前
uniapp小程序自定义日历(签到、补签功能)
小程序·uni-app