uni-app如何能做出一个“干净”的离线打包 app?
uni-app如何能做出一个“干净”的离线打包 app?
建议改进离线打包指南
0. 提供一个最简单的 HBuilder-blank 项目
- 可以没有任何实际功能,但要凸显出如何修改 app 名称、版本、icon、splash。
1a. 在原生开发环境中新建一个空项目
- 把 HBuilder-blank 项目中的内容分别复制到适当的位置。
1b. 设置修改 app 名称、版本、icon、splash
- 对于新手来说,这一步可能会感到迷茫。
2. 编译、运行、打包、导出
- 这部分内容主要是原生开发环境的事情,简单提及即可。
3. 引入第三方功能模块
- 需要做哪些事情(复制文件、在原生开发环境中的设置、修改 manifest.json 文件)。
- 官方给出的 Feature-Android.xls 和 Feature-iOS.xls 已经很完整地列出了“有哪些”,但对于“怎么做”还缺少一点更直观的引导。
最后再感慨一下,HBuilder 是一个非常用心的产品,希望越做越好!
附件中有安卓和iOS的纯净的SDK
太感谢啦!~
为什么导不进eclipse啊?
回复 木子喵:你的能导进eclipse吗?
回复 GaGada:可以呀,是你的eclipse之前有Hbuilder-Hello重名了所以导不进去吧?改一下名字就好了~
回复 木子喵:那你离线打包搞定了没?
回复 GaGada:用clean这个有问题,之前的基座没问题
你好。我在用了你的Clean。然后发现XCode出现报错提示。 “_OBJCCLASS$_ZipArchive”,referenced from: Objc-class-ref in liblibPDRCore.a(DCSAAppResManager.o) Objc-class-ref in liblibPDRCore.a(PDRCoreAppManager.o) Objc-class-ref in liblibPDRCore.a(PDRCoreApp.o) Symbol(s) not found for architectrue x86_64
请问这个是要加什么框架进去,还是要怎么操作啊?如何解决这个问题?
赞同!
请问有没有相对干净的演示项目,不知道怎么去除HBuilder-Hello里面多余的东西,打包出来好大…
昨天正想回答你的这个问题的 今天还没来得及写完 官方就给出了案例 ~ 我也就不写啦;
关于Android的案例,官方给的是Runtime集成方式,类似于HBuilder的云打包,应该符合你的需求了;
如果你的app有一部分界面是原生写的,另外一部分是html写的,想把html写的集成到原生项目,这时就得用widget方式集成;可参考官方的http://ask.dcloud.net.cn/docs/#http://ask.dcloud.net.cn/article/81
如果看不懂的话 再叫官方整个干净的widget案例吧 哈哈; 或者如果需要,我可以帮忙整理一个~
widget方式是什么方式,官方有例子不
@诸葛亮七进七出 我已经写了个案例哦 http://ask.dcloud.net.cn/article/526
mark
Mark
顶下
顶!就打包这个事情我搞了两天,从hbuild-hello里面开始删,删完之后还有十几兆
你不顶起来,不知道这个问题2015年就有人提了,到现在官方文档里还是老的例子hbuilde-hello,不熟悉原生开发的人,离线打包真的很痛苦,不敢随便删项目里的配置文件,又不知道自己是否修改了所有该修改的地方!!!楼里面有些朋友回复的,我回头再仔细看一下。
好不容易把hbuilder-hello打包成功,但是如何替换成自己的,还是问题很多!
文章一针见血,我也遇到这个困惑了,大神那现在怎么才能创建一个纯净版的离线打包的“壳子呢”,求指教
撑撑撑撑
你说的这个确实是事实,因为官方已经配置好了android studio工程基础版,基础版比较臃肿,对于小白们只能在这个基础上进行配置,实现android离线打包。但我经过自己研究,已经实现不依赖基础版,从0开始实现android离线打包。可以参考:http://www.xiaotiaogou.com/mui003.php
在使用uni-app进行离线打包以创建一个“干净”的app时,关键在于确保代码、资源文件以及打包配置都是精简且高效的。以下是一个基本的实现思路和代码案例,帮助你实现这一目标。
1. 代码精简与优化
确保你的代码是精简且无冗余的。使用ES6+语法,并充分利用uni-app框架提供的组件和API来减少自定义代码量。
// 示例:使用uni-app的API进行网络请求
uni.request({
url: 'https://api.example.com/data',
success: (res) => {
console.log(res.data);
},
fail: (err) => {
console.error(err);
}
});
2. 资源文件管理
将图片、字体等资源文件进行优化,如压缩图片、合并CSS/JS文件等,并合理组织资源目录结构。
<!-- 示例:使用base64内嵌小图片 -->
<image src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." mode="widthFix"></image>
3. 配置manifest.json
在manifest.json
文件中,精确配置app的相关信息,如名称、版本、图标、启动图等,避免不必要的资源包含。
{
"mp-weixin": { // 示例配置微信小程序
"appid": "your-app-id",
"setting": {
"urlCheck": false
}
},
"app-plus": {
"name": "CleanApp",
"version": {
"name": "1.0.0",
"code": "100"
},
"icons": [
{
"size": "57",
"src": "static/icons/icon-57.png"
},
// 更多图标配置...
],
"splashscreen": {
"autoclose": true,
"delay": 3000,
"image": "static/splash/splash.png"
}
}
}
4. 使用HBuilderX进行打包
HBuilderX是DCloud官方提供的开发工具,支持一键离线打包。在打包前,确保已经进行了彻底的代码审查和测试。
- 打开HBuilderX,选择你的uni-app项目。
- 点击“发行”->“原生App-云端打包”或“原生App-本地打包”(根据需求选择)。
- 根据向导配置相关信息,如选择打包平台(Android/iOS)、填写证书信息等。
- 点击“打包”,等待打包完成并下载生成的安装包。
5. 后续优化
- 使用代码混淆工具对JS代码进行混淆,增加反编译难度。
- 定期审查并移除未使用的代码和资源文件。
- 关注uni-app和HBuilderX的更新日志,及时应用新特性和性能优化。
通过以上步骤,你可以创建一个结构清晰、资源优化、配置精确的“干净”离线打包app。