当前位置: 首页 > news >正文

uni-app如何发布项目为app_2025

参考大佬的:uni-app项目打包成apk(本地打包篇)_uniapp打包apk-CSDN博客

1、导入前配置

在 HBuilder X 中打开uni-app项目中的 mainifest.json 文件,appid没有的话可以点“重新获取”

2、打包

然后关注控制台,导出成功即可(记得这个位置,这个文件需要用到)

3、下载Android离线SDK

Android离线SDK 下载地址:Android离线SDK

4、将HBuilder X导出的文件夹移动到离线SDK中

我的文件目录

D:\app_develop\demo1\test1\unpackage\resources

复制到

D:\app_develop\Android-SDK@4.45.82353_20250106\Android-SDK@4.45.82353_20250106\HBuilder-Integrate-AS\simpleDemo\src\main\assets\apps

5、Android Studio 导入项目

如何下载安装:Android Studio 安装配置教程 - Windows(详细版)-CSDN博客

如何汉化:Android Studio 汉化教程_android studio汉化-CSDN博客

(选择第二种方式,ps:导入插件后,建议先创建一个项目进去,进去后汉化才开始,我踩坑的就是在欢迎界面区安装插件,结果一直不汉化,等创建一个项目后就汉化了)

开始导入文件(注意:文件路径中不要出现中文!否则会报错!

6、修改配置

a. 修改dcloud_control.xml 中的 appid

b.记住 applicationId ,后面会用到

7、生成Android证书签名

前提是要配置好jdk:我是学java的,我很早就已经配置了,没有配置的可以参考JDK环境变量配置 - 哔哩哔哩

a. 在 Windows 上,可以使用命令提示符(CMD)

win+R,输入cmd

b. 修改位置的命令:

假设目标路径为 D:\app_develop\Android-SDK@4.45.82353_20250106
输入:
cd /d D:\app_develop\Android-SDK@4.45.82353_20250106

c. 输入命令:

(建议先改变位置,生成的文件的位置就在你输入这个命令的位置)

keytool -genkeypair -v -keystore my-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias my-key-alias

参数说明:
● -keystore my-release-key.jks:指定生成的 Keystore 文件名(如 my-release-key.jks)。
● -keyalg RSA:指定密钥算法为 RSA。
● -keysize 2048:指定密钥长度为 2048 位。
● -validity 10000:指定证书的有效期(单位为天),建议设置为较长的时间(如 10000 天)。
● -alias my-key-alias:指定密钥别名(Alias),用于标识该密钥对。

d. 完善身份

运行上述命令后,系统会提示您输入以下信息:

  1. Keystore 密码 :输入并确认 Keystore 文件的密码。
  2. 密钥别名密码 :输入并确认密钥别名的密码(可以与 Keystore 密码相同)。
  3. 姓名、组织单位、组织名称等信息 :根据提示填写相关信息(这些信息将嵌入到证书中)。

Enter keystore password:  //输入证书文件密码,输入完成回车  
Re-enter new password:   //再次输入证书文件密码,输入完成回车  
What is your first and last name?  
  [Unknown]:  //输入名字和姓氏,输入完成回车  
What is the name of your organizational unit?  
  [Unknown]:  //输入组织单位名称,输入完成回车  
What is the name of your organization?  
  [Unknown]:  //输入组织名称,输入完成回车  
What is the name of your City or Locality?  
  [Unknown]:  //输入城市或区域名称,输入完成回车  
What is the name of your State or Province?  
  [Unknown]:  //输入省/市/自治区名称,输入完成回车  
What is the two-letter country code for this unit?  
  [Unknown]:  //输入国家/地区代号(两个字母),中国为CN,输入完成回车  
Is CN=XX, OU=XX, O=XX, L=XX, ST=XX, C=XX correct?  
  [no]:  //确认上面输入的内容是否正确,输入y,回车 

完成后,会在当前目录生成一个 .jks 文件(如 my-release-key.jks)。

注意:要记住这个文件的位置

e. 查看证书记录

keytool -list -v -keystore my-release-key.jks
  
Enter keystore password: //输入密码,回车

密码输入是看不见的,输完回车就行;

8、生成appkey

前往 DCLOUD 的开发者中心(网址:开发者中心)

然后点击新增就会出现这个画面:

注意

包名:在第六步的b步骤,applicationId

其余三个是在第7步的e不走,复制的那三个;

最后填写完,提交即可

查看key

记住这个App Key

9、在 AndroidManifest.xml 中配置AppKey

这里换成自己的AppKey

10、打包前配置

位置:在第七步的b和c步骤(自己设置的位置)

密码:应该自己知道

keyAlias:第七步的e步骤让复制的那个别名

也可以不用自己手动输入,点击open

改完点击应用再点确定,即可

11、打包apk

文件位置:Android-SDK@4.45.82353_20250106\Android-SDK@4.45.82353_20250106\HBuilder-Integrate-AS\simpleDemo\build\outputs\apk\debug

12、使用

这样就可以开始使用了

文件发给手机,手机就能正常使用了

问题报错:未配置appkey或配置错误

参考这个:

申请 | uni小程序SDK

另外一定注意:

signingConfigs {
        debug {
            storeFile file('D:\\app_develop\\jks\\ljc-release-key.jks')
            storePassword '123'//换成自己的密码
            keyAlias 'ljc-key-alias'
            keyPassword '123'//换成自己的密码
        }
        config {
            storeFile file('D:\\app_develop\\jks\\ljc-release-key.jks')
            storePassword '123'//换成自己的密码
            keyAlias 'ljc-key-alias'
            keyPassword '123'//换成自己的密码
        }
    }

    buildTypes {
        debug {
            signingConfig signingConfigs.config
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        config {
            signingConfig signingConfigs.config
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }

13、修改文件后,重新生成app

只需要将第二步的重新打包的文件,替换第四步的文件,然后重启Android Studio,然后进行第十一步骤就可以了;

相关文章:

  • AI论文开题报告:分享5款写作软件
  • Linux中的基本指令(上)
  • Vue.js知识总结
  • Vue+Node.js+MySQL+Element-Plus实现一个账号注册与登录功能
  • 动态规划 -第1篇
  • 从青铜到王者:六大排序算法实战解析
  • Docker避坑实战:6大“诡异“问题深度拆解
  • 【GPT入门】第15课 用 prompt生成sql交互页面,创建可视化自然语言转sql生成器
  • PyTorch深度学习框架进阶学习计划 - 第20天:端到端图像生成系统
  • Lock接口与synchronized锁机制
  • 蓝桥杯备考:unordered_map基础用法题 ---学籍管理
  • 在 Ubuntu 下通过 Docker 部署 Nginx 服务器
  • 【零基础入门unity游戏开发——进阶篇】Marhf和Math的使用
  • Java基础 | Java枚举(Enum)详解:从入门到实践
  • Web Worker如何在本地使用
  • 自动化测试介绍及学习路线
  • 《领导力21法则》第七章「尊重法则」笔记
  • 商业智能BI的未来,如何看待AI+BI这种模式?
  • 香港电商市场迅猛发展,多用户商城系统软件厂商如何抓住机遇
  • LeetCode 1447 最简分数
  • 网站 建设 成品/凡科网免费建站
  • 深圳网站建设jm3q/关键词歌词打印
  • 软件开发大概需要多少钱/西安seo站内优化
  • 长春学校网站建设方案咨询/南昌企业网站建设
  • 如何制作网站和软件/清远今日头条新闻
  • 做h5小游戏的网站有哪些/5g网络优化工程师