uniapp Android本地打包

本文讲述了作者如何利用uniapp进行本地打包的过程,包括软件准备、证书获取、项目打包、导入AndroidStudio、配置Gradle以及解决常见问题,为开发者提供了一个完整的实战步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

昨天借助了uniapp云打包的力量实现了线上打包;今天去实现以下本地打包,后来发现本地打包是真的复杂,就连麦克阿瑟将军都曾说到,如果让我用uniapp本地打包,那我宁愿将枪口指向上帝。

ps:每位道友可能遇到的环境不同,并不一定适合所有人的环境

软件准备

1. 安卓编辑器下载
2. 安卓编辑器汉化教程
3. 安卓SDK
4. 一个uniapp项目,这里使用的是Hello uni-app并去除了某些权限具体可以看这里调试打包

信息准备

证书的获取和应用申请可以看这里调试打包

在获取证书和包名后还需要收集以下信息

  • AppID
  • Android

进入应用详情,然后点击离线打包Key,就能看到AppID和Android了
在这里插入图片描述
在这里插入图片描述
最终需要准备的信息有

名称
AppID__UNI__9D075DF
包名com.android.firstapp
Android563bc4d4cebc6e13e0d3c4ca08318359
证书别名dbtest
证书密码123456
MD547:8B:A7:96:8A:2F:26:20:0D:AD:E4:69:F1:AB:E3:C6
SHA12A:00:C4:EB:8A:0A:EB:46:AD:E9:71:C9:4C:20:F9:4D:17:CD:38:97
SHA25627:7F:87:25:8D:61:92:B7:19:82:C7:F3:0C:55:55:5C:78:E1:CE:87:EF:94:A3:E8:09:87:56:1E:5C:CF:A7:EA

开始本地打包

1. 项目打包

  • 进入HBuilder找到manifest.json文件,点击源码视图,看下appid是否和上面准备的AppID一致,不一致就改本地的
    在这里插入图片描述
  • 点击发行,选择原生App-本地打包,
    打包完成后解压一开始下载的SDK包,并找到__UNI__A文件夹,用刚才打包好的文件夹替换该文件夹,具体如下图所示
    请添加图片描述

2. 项目导入

  • 下载安装Android Studio并汉化(可选)
    请添加图片描述
    点击open打开,找到HBuilder-Integrate-AS并打开该项目
    在这里插入图片描述
    请添加图片描述

3. 导入失败( 处理方法 )

请添加图片描述

如果你导入后发现,有报错并且侧栏是这个样子,则很有可能是本地jdk没配置好

  • 点击文件选择设置如图找到构建工具Gradle这里,选择对应的JDK,1.8安装,选择后点击应用并确定
    请添加图片描述
  • 然后再次点击文件选择Sync Project with Gradle Files,构建后没有报错,侧栏如下图所示则成功
    请添加图片描述

4. 修改文件信息< 易错点 >

  • 首先将目录调整成这个样子
    在这里插入图片描述
  • 打开dcloud_control.xml,将appid修改为应用的AppID
    在这里插入图片描述
  • 打开AndroidManifest.xml将文件顶部的package修改为你的包名,将文件底部的android:value修改为你的Android
    在这里插入图片描述
    在这里插入图片描述
  • 打开Gradle Scripts文件夹找到build.gradle(Module:simpleDemo)文件,安装下面进行配置
    在这里插入图片描述
  • 关于证书的位置,我门需要将证书文件放到下面这里
    在这里插入图片描述

5. 打包

点击构建选择Generate Signed Bundle / APK...
在这里插入图片描述
选择apk点击下一步
在这里插入图片描述
在这里插入图片描述
选择release点击创建
在这里插入图片描述

当打包完成后可以在release文件夹中找到apk文件

在这里插入图片描述

今天熟悉了本地打包的基本流程,小道已无力探索,若各位道友有兴趣,可以看更详细的本地打包配置

uniapp 本地打包 官方文档

<think>好的,我需要帮助用户了解如何在UniApp中进行本地打包。首先,我应该回顾用户提供的引用内容,这些引用似乎涵盖了UniApp的iOS和Android本地打包步骤,特别是引用[2]、[3]、[4]提到了Android Studio的配置和资源替换。用户可能想知道具体的步骤,比如如何生成打包资源、配置环境、修改文件等。 首先,我需要整理出清晰的步骤,确保结构清晰。根据引用内容,本地打包的主要步骤包括生成资源、准备环境、替换资源、配置包名和版本、设置签名等。同时,用户可能还会遇到问题,比如Android 10的相机问题,需要提到解决方案。 接下来,需要确认每个步骤的正确性,比如引用[3]提到将生成的资源替换到Android Studio项目的assets/apps目录下,而引用[4]也提到类似的操作。同时,证书的存放位置和包名设置也是关键点,需要详细说明。 可能需要注意区分iOS和Android的不同步骤,但用户的问题主要是关于本地打包,可能更偏向Android,因为iOS打包可能需要更多证书配置,而引用[1]提到了iOS打包的概览,但用户提供的引用更多是Android相关的。不过应该涵盖iOS的简要步骤,如果有相关信息的话。 需要检查是否有遗漏的步骤,比如Appkey申请,这在引用[2]中提到,所以需要包含进去。此外,代码示例可能有用,比如如何修改AndroidManifest.xml,或者如何配置build.gradle文件,但用户提供的引用中没有具体的代码块,可能需要根据常识补充。 最后,生成相关问题,要确保问题覆盖用户可能关心的方面,比如性能优化、常见错误处理、与云打包的区别等。需要确保问题与主题相关,并引导用户进一步探索。 总结步骤: 1. 使用HBuilder X生成本地打包资源。 2. 准备Android Studio和SDK环境。 3. 替换资源文件到项目目录。 4. 修改包名、版本信息和签名配置。 5. 申请Appkey。 6. 打包APK。 7. 处理常见问题,如相机权限。 需要确保每个步骤都有对应的引用标注,比如替换资源对应引用[3]和[4]。同时,注意用户提到的iOS配置,但可能以Android为主,因为引用内容更详细。此外,要提醒用户注意路径的正确性和开发工具的版本兼容性。</think>### UniApp本地打包配置步骤详解 #### 一、生成本地打包资源 1. 在HBuilder X中打开项目,选择 **发行 > 原生App > 本地打包 > 生成本地打包App资源**。 控制台会输出资源保存路径(如`unpackage/resources`)[^3]。 #### 二、配置Android开发环境 1. **下载Android Studio和App离线SDK**: - 安装Android Studio(需Java环境)。 - 下载官方提供的App离线SDK,解压后导入Android Studio[^2]。 2. **替换资源文件**: - 将HBuilder生成的`__UNI__[项目ID]`文件夹复制到Android项目的`assets/apps`目录下,覆盖原有文件[^3][^4]。 - 替换`assets/data/dcloud_control.xml`中的`appid`为项目ID[^2]。 #### 三、配置应用信息 1. **包名修改**: 在`build.gradle`中修改`applicationId`(如`com.example.demo`)[^2]。 2. **版本信息设置**: - `versionCode`(内部版本号)和`versionName`(用户可见版本号)在`build.gradle`中调整。 3. **证书签名配置**: - 将`.keystore`文件放在项目根目录,并在`build.gradle`中配置签名信息: ```gradle android { signingConfigs { release { storeFile file("demo.keystore") keyAlias "key0" storePassword "123456" keyPassword "123456" } } } ``` #### 四、申请AppKey 1. 在DCloud开发者中心注册应用,获取AppKey并填写到`AndroidManifest.xml`的`meta-data`节点中。 #### 五、打包APK 1. 在Android Studio中选择 **Build > Generate Signed Bundle/APK**,按向导生成APK文件。 #### 六、常见问题处理 1. **Android 10无法启动相机**: 在`AndroidManifest.xml`的`<application>`节点添加以下权限: ```xml <provider android:name="io.dcloud.common.util.DCloud_FileProvider" android:authorities="${applicationId}.dc.fileprovider" android:exported="false" android:grantUriPermissions="true"> <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/dcloud_file_provider" /> </provider> ``` #### iOS打包简要步骤 1. 在Xcode中导入HBuilder生成的资源,配置证书和描述文件(需Apple开发者账号)[^1]。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值