这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助

一、开发环境

uni-app 官方文档地址 原生开发者支持

1、Android Studio 下载地址:Android Studio官网 OR Android Studio中文社区

2、最新版的HBuilderX

3、App离线SDK下载:最新android平台SDK下载

4、3.1.10版本起需要申请Appkey,申请请参考

二、准备环境

1)Android Studio下载

点击进入 Android Studio官网 或者 Android Studio中文社区

点击Download Android Studio,然后下滑弹窗勾选同意协议,并点击下载Android Studio

下载成功后安装即可。

2)最新版HBuilderX下载

HBuilderX:官方IDE下载地址

HBuilderX 3.4.6版本起,取消单独的App开发版安装包,统一为一个标准安装包。标准版也可以安装app相关插件。

这里直接下载最新的正式版。

如果是已有老版的HBuilderX,可打开编辑器后,通过点击帮助,点击检查更新后,直接点击立即更新,然后等待自动更新后重启HBuilderX即可

3)App离线SDK下载

点击进入:最新android平台SDK下载

复制提取码后进入百度云直接下载最新版压缩包

下载成功后解压压缩包后打开,可根据个人习性,将HBuilder-Integrate-AS文件夹拷贝至其他专门存放打包文件的文件夹内

4)生成本地打包APP资源

打开最新版HBuilderX,点击界面上方的发行,点击原生App-本地打包,点击生成本地打包资源

生成资源成功之后,点击生成链接进入存放目录,保存生成的文件

5)申请Appkey

首先登录开发者中心,没有账号的必须注册一个。

登录成功后点击想要离线打包的项目,进入到项目的详情页

点击菜单栏的离线打包Key管理,勾选打包的平台,自定义Android包名,输入Android 证书签名SHA1,最后点击保存即可生成AppKey。

可通过在生成的Android 证书目录里面cmd命令行输入

keytool -list -v -keystore 证件名.keystore

回车后输入证书文件密码,来查看证书信息(SHA1,SHA256证书指纹)

三、开始离线打包

上述准备工作全部完成后,首先打开Android Studio编辑器导入之前准备工作里步骤三生成的离线SDK资源里的 HBuilder-Integrate-AS 文件夹

导入成功后,首先替换掉simpleDemo\src\main\assets\apps目录下的原有资源,更换为之前准备工作里步骤四HbuiderX 生成的本地打包APP资源

然后将data目录下的dcloud_control.xml文件内的appid清空,更换成自己uni-app的应用标识AppID,也就是准备工作里步骤四HbuiderX 生成的本地打包APP资源的名称

打开Androidmanifest.xml文件,将android:value替换为之前准备工作步骤五里申请的Appkey,将package更换为Android包名

打开values目录下的strings.xml文件,输入自己应用想要的应用名称(类似QQ、微信这些应用名称)

打开drawable目录,该目录主要存放

icon.png : logo图片

push.png : 消息推送logo

splash.png : 启动页

选中任意图片右键,可点击Create 9-Patch file 将图片更换为.9.png类型,防止不同型号手机导致图片变形

打开build.gradle文件,填入Android包名和大版本号和小版本号

可通过在simpleDemo\src\main\assets\apps\__UNI__B0DA83E\www目录下的manifest.json文件查看版本号信息

最后就可以点击Android Studio编辑器上方的build,点击Generate  Signed Bundle / APK进行打包

依次输入Android平台签名证书(.keystore)的证书路径、证书秘钥、证书别名和打包密码

选择正式包,最后点击Finish,等待打包完成即可

最后这就是打包完成后的文件,整个离线打包也就结束了,可以直接在手机上进行安装了

四、解决问题

最新解决Android Studio打包没有Generate Signed Bundle/APK选项

在开发React native安装Android Studio时,出现了一些问题,没有Generate Signed Bundle/APK打包选项. 
在网上查很多都是点击File,选择Sync Project with Gradle Files,我这边设置无效。

最终通过一系列配置才显示出来。

请检查是否有以下条件:

1、Node.js环境

检查是否有安装nodejs

2、JDK

JDK(Java Development Kit)是 Java 开发套件的简称。我们用 React Native 开发的 Android 应用,最
终是运行在 Java 环境中的。所以,需要安装 JDK。
下载地址: https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
安装完成后,进行校验,打开cmd命令行,输入 java -version,然后回车,验证安装是否成功(看到版本号,说明JDK 安装成功)。

3、Android Studio环境变量

先查看Android Studio SDK位置:

在系统变量中添加ANDROID_HOME:

编辑系统变量中的Path:
新增4个
%ANDROID_HOME%\platform-tools
%ANDROID_HOME%\emulator
%ANDROID_HOME%\tools
%ANDROID_HOME%\tools\bin

以上配置完成后重启软件,即可生效。

本文转载于:

https://blog.csdn.net/PIOnly/article/details/125196697

如果对您有所帮助,欢迎您点个关注,我会定时更新技术文档,大家一起讨论学习,一起进步。

记录--UNI-APP安卓本地打包详细教程(保姆级)的更多相关文章

  1. uni-app 安卓离线打包详细教程

    借鉴 uni-app官方给出的文章http://ask.dcloud.net.cn/article/508(虽说是04年的) 预备环境 AndroidStudio开发环境,要求安装Android4.0 ...

  2. Realm_King 之 .NET 打包详细教程(B)

    上篇(Realm_King 之 .NET 打包详细教程(A))给大家讲述了打包基本的操作,接下来帮助大家如何覆盖安装,希望大家仔细阅读... (一)看到你的解决方案,选中你的安装程序,点击F4会弹出改 ...

  3. Fiddler安卓抓包详细教程

    电脑端抓包一般图方便就用浏览器自带的,最近需要分析安卓一个APP的HTTP请求,尝试了wireshark(功能太强大了,然而我并不会用),tcpdump(用起来还是比较麻烦),网上搜了一下,还是使用F ...

  4. Realm_King 之 .NET 打包详细教程(A)

    最近一直在winform程序开发,听说身边的人不是很了解打包,给大家提供一点简单的打包,相信能看懂的... (一)右键解决方案: 在弹出"添加新项目"窗体中找到  其他项目类型=& ...

  5. H5网页应用打包安卓App (全网最详细教程)

    img { box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important } .red { color: rgba(255, 0, 0, 1) } ...

  6. uni-app 使用本地打包配置安卓原生插件

    在使用 uni-app 开发的时候,遇到了一个很棘手的问题.即获取设备参数的时候 uni-app 并没有相关方法,而安卓开发是可以做到的,因为接的是三方推广,所以功能必须实现,所以求助了安卓的大佬帮我 ...

  7. Java项目打包成exe的详细教程

    Java项目打包成exe的详细教程 把Java项目打包成exe共分为以下两步: 1. 利用Eclipse先把Java项目先打成jar包 2. 利用exe4j工具把jar包转成exe 这里以Java项目 ...

  8. 使用release自动打包发布正式版详细教程

    昨天写了个release插件的版本管理,今天就在自动发布过程中遇到了许多坑,只能再写一篇自动发布详细教程,纪念我那昨日逝去的青春 (╥ _ ╥`) release正常打包发布流程按照如下几个阶段: C ...

  9. HBuilderX生成本地打包App资源

    http://ask.dcloud.net.cn/question/60254 概要 在HBuilderX中开发的应用可以提交到云端打包生成apk(Android平台)和ipa(iOS平台).如果本地 ...

  10. ios签名app稳定不掉签技术详细教程详解

    iOS签名是专门针对ios的APP内测的数字签名,是苹果面向开发者提出的一箱机制. 因为现在苹果APP下载渠道只有App Store,还可以加上一个内测用的testflight,也就是说,除了这两个官 ...

随机推荐

  1. JOISC 2023 纪录

    记录一下 JOISC 2023 的做题记录 Day1 T1 Two Currencies 给定一棵树,在边上有总计 \(m\) 个检查站,经过一个检查站需要叫 \(1\) 枚金币或者若干枚银币.\(Q ...

  2. JS leetcode 翻转字符串里的单词 题解分析

    壹 ❀ 引 今天来做一道难度中等,但实际难度并不是很高的题目,题目来源leetcode151. 翻转字符串里的单词,题目描述如下: 给定一个字符串,逐个翻转字符串中的每个单词. 示例 1: 输入: & ...

  3. 走出人生的舒适区,告别 CRUD

    ​舒适区(Comfort zone),指的是一个人所处的一种环境的状态,和习惯的行动,人会在这种安乐窝的状态中感到舒适并且缺乏危机感. 工作中的舒适区 很多人工作也每天很累很辛苦,程序员每天都在加班加 ...

  4. 【OpenGL ES】Blinn改进的冯氏光照模型

    1 前言 ​ 光照元素主要有环境光(ambient).漫反射光(diffuse).镜面反射光(specular),光照模型主要有冯氏模型和 Blinn 改进的冯氏模型,两者区别在与镜面反射光的计算,冯 ...

  5. websocket 监听端口问题

    有用户反馈使用我们的软件时会出现 ERR_CONNECTION_CLOSED 问题 我们根据反馈排查问题发现是软件的 websocket 监听端口被另一款软件占用了,暂时的解决方法是将占用的软件关闭 ...

  6. http 与 tcp 的一些学习

    HTTP 是一个基于 TCP/IP 通信协议来传递数据的协议,传输的数据类型为 HTML 文件,.图片文件, 查询结果等. HTTP 协议一般用于 B/S 架构().浏览器作为 HTTP 客户端通过 ...

  7. string 字符串转为 char *

    std::string str = "abc"; const char *p = str.data(); 更多: https://www.cnblogs.com/devilmayc ...

  8. redis7源码分析:redis 启动流程

    1. redis 由 server.c 的main函数启动 int main(int argc, char **argv) { ... // 上面的部分为读取配置和启动命令参数解析,看到这一行下面为启 ...

  9. 异常处理之raise A from B

    raise A from B 语句用于连锁chain异常 from 后面的B可以是: - 异常类 - 异常实例 - None 如果B是异常类或者异常实例,那么B会被设置为A的__cause__属性,表 ...

  10. 初识JavaScript逆向——以网易云音乐和招标网站为例

    前言:需要掌握一定的JavaScript基础,能看懂基础的JavaScript代码. 我们平常在浏览网站的时候会看到许多加密的参数,如果需要知道它的原始数据,就需要知道整个加密过程,所以本篇文章就来介 ...