【uni-app】【Android studio】手把手教你运行uniapp项目到Android App

慈云数据 2024-04-10 技术支持 128 0

运行到Android App基座

  • 选择运行到Android App基座

    在这里插入图片描述

  • 选择运行项目

    1、连接手机,在手机上选择 传输文件。

    在这里插入图片描述

    2、打开 设置-> 关于本机 -> 版本信息->连续点击4-5次版本号 ,输入手机密码,系统就进入了开发者模式。

    在这里插入图片描述

    3、设置 > 其他设置 > 开发者选项 > 打开开发者选项 > 打开USB调试。

    4、回到Hbuilder,点击刷新,选择设备,运行项目。

    在这里插入图片描述

  • 运行失败

    请使用手机助手手动安装XXX.apk到手机上,并重新运行真机调试

    不知道为什么文件就是传输不到手机上,下载了文件助手也不连接不到手机。所以用最简单的办法吧。

    这个报错是因为Hbuilder没办法把apk发送并安装到手机上,打开它说的那个目录C:\Users\[自己的目录]\Downloads\HBuilderX.3.7.11.20230427\HBuilderX\plugins\launcher\base\android_base.apk,直接把apk微信发送到手机上,然后手动改名字,点击安装,安装好了就有这个图标。

    在这里插入图片描述

    安装好了之后,回到电脑Hbuilder,重新运行。

    出现的错误:

    Failed to connect to localhost/127.0.0.1:8080

    手机HBuilder关掉,电脑重新编译,多试两次就好了。

    运行到模拟器

    • 下载安装Android Studio,uni-app官方有提供下载地址和安装教程,我这里说点官方没详细说的。下载完,安装的时候一直默认的往下点就好了。安装好studio之后。

      遇到的问题

      1、点开SDK Manager,发现没有SDK Platform。跟着这个教程来,真的很详细。

      在这里插入图片描述

      2、修改SDK目录,然后安装的时候没成功,也不是报错,就是说包已存在,就用了已存在的包。看到这个评论,修改了路径,往上一层移了一下。

      在这里插入图片描述

      3、下载包失败:因为我有“科技”支持,所以这里代理选的Auto-detect。大家可以试一下Check connection,从后面下载的detail里面可以看到是从https://dl.google.com下载安装包的,所以就用这个网址去测试就行,这个能测通那就说明后面的安装网络是没有问题的。

      在这里插入图片描述

      一定是出现下面的日志才说明安装成功了,不然点了finish回来也选不了sdk platform和sdk tools。

      在这里插入图片描述

      按照上面那个详细教程继续即可,天知道我试了多久才总算成功了。一把辛酸泪。在这里插入图片描述

    • Android 原生工程配置。可以参见uni-app教程,建议采用方式二:导入工程,里面包都放好了。我这里主要说明一些没提到的细节,和我遇到的问题。

      1、这个HBuilder-Integrate-AS工程,就是在下载好的App离线SDK里面。里面build.gradle已经放好了aaptOptions。 在这里插入图片描述在这里插入图片描述

      2、Androidmanifest.xml在manifests目录下面,已经放好了meta-data标签。只需要改value。

      在这里插入图片描述

      在这里插入图片描述

    • 申请签名appkey

      1、打开开发者中心,应用管理 > 我的应用 > 点击应用查看应用信息。点击Android云端证书,如果没有生成过点击生成证书。生成过了点击证书详情,记录下MD5/SHA1/SHA256信息。

      在这里插入图片描述

      在这里插入图片描述

      2、点击各平台信息,原来的离线打包Key管理已经迁移过来了。点击新增,新增平台信息。把之前记录的SHA和MD5信息填入,包名是Android studio项目的applicationId。

      在这里插入图片描述

      在这里插入图片描述

      3、新增完之后,挪到表格的最后,可以看到表格有一列离线打包Key,如果之前没有生成过,就点击创建,会有一个弹窗,反正点击创建就行。完了之后这里就会变成查看。

      在这里插入图片描述

      点击查看就能看到App Key,这就是离线key。把这个放到项目里面的AndroidManifest.xml里面去。

      在这里插入图片描述

      在这里插入图片描述

      发行

      Hbuilder选择发行 > 原生App-云打包

      这里的云端证书就是之前在Dcloud生成过的。

      在这里插入图片描述

      中间会有弹窗提示:

      打包校验:[Warning] 为落实《网络安全法》《消费者权益保护法》的要求,有效治理App强制授权、过度索权、超范围收集个人信息等现象,保障个人信息安全国内各大应用市场都加强了应用审核,要求应用必须符合相关政策才能上架查看如何解决。不上架国内应用市场无需处理

      在这里插入图片描述

      这个如果只是为了验证apk效果,可以先继续打包,但是如果要上架国内应用市场,得去提供的(链接)[https://uniapp.dcloud.net.cn/tutorial/app-privacy-android.html#]里将相关的隐私申明等配置好。

      打包好了之后会有提示,把apk文件传到手机上运行就能看效果了。

      在这里插入图片描述

      报错: java.net.SocketTimeoutException: Connect timed out

      android studio 代理设置,check connection只要能连上https://dl.google.com就行。

      报错:包名不对,请检查包名是否与开放平台上填写的一致

      打开manifest.json中的App模块配置,确认微信登录和Share(分享)填写的appid是正确的,注意这个和微信小程序配置里面的AppID不是同一个。

      在这里插入图片描述

      在这里插入图片描述

      报错:签名不对,请检查签名是否与开放平台上填写的一致

      微信开放平台填写的签名,不是Dcloud应用管理里面的AppKey,需要填写MD5签名,而且不能包含冒号。这篇文章里面说的很清楚

      例如本来MD5为24:D2:CA:F6:3A:1A:13:ED:8D:B6:8E:19:82:E1:F3:F5,在微信开放平台上填写签名24D2CAF63A1A13ED8DB68E1982E1F3F5。

      添加隐私政策

      参考博客。

      {
          "version" : "1",
          "prompt" : "template",
          "title" : "服务协议和隐私政策",
          "message" : "  请你务必审慎阅读、充分理解“服务协议”和“隐私政策”各条款,包括但不限于:为了更好的向你提供服务,我们需要收集你的设备标识、操作日志等信息用于分析、优化应用性能。
        你可阅读《服务协议》和《隐私政策》了解详细信息。如果你同意,请点击下面按钮开始接受我们的服务。", "buttonAccept" : "同意并接受", "buttonRefuse" : "暂不同意", "hrefLoader" : "system|default", "backToExit" : "false", "second" : { "title" : "确认提示", "message" : " 进入应用前,你需先同意《服务协议》和《隐私政策》,否则将退出应用。", "buttonAccept" : "同意并继续", "buttonRefuse" : "退出应用" }, "disagreeMode" : { "support" : false, "loadNativePlugins" : false, // 是否开启游客模式 "visitorEntry" : false, "showAlways" : false }, "styles" : { "backgroundColor" : "#fff", "borderRadius" : "5px", "title" : { "color" : "#333" }, "buttonAccept" : { "color" : "#63acb6" }, "buttonRefuse" : { "color" : "#9B9AB5" } } }

      参考:

      官方真机运行常见报错

微信扫一扫加客服

微信扫一扫加客服

点击启动AI问答
Draggable Icon