首先,感谢两篇博客
https://www.jianshu.com/p/a44b1e6fe27e
https://blog.csdn.net/qq_25700077/article/details/98494057
在其帮助下,本人顺利的完成了安卓安装包的生成并在手机上装上并运行了,但是由于博客中有些细节没有提到,所以我决定将其内容整合一下,方便他人观看,同时感谢上述两位博客的主人。
正文:
1.下载最新的离线sdk
https://ask.dcloud.net.cn/docs/#//ask.dcloud.net.cn/article/103
2.解压缩刚刚下载的sdk包,用Android studio打开示例工程
3.打开的时候会弹出一个错误,我这里就不截图了,点击ok无视掉就行;
4.然后等待项目自动build,点击左下角可以调出build面板
注意,这里比较重要,有几个报错点需要注意一下(需要重新build的话,关闭项目,重新打开下):
①Google被墙,软件下不下来。解决办法:找到C:\Windows\System32\drivers\etc下的hosts,记事本打开,添加203.208.50.72 dl.google.com 108.177.97.91 dl-ssl.google.com两行,重新build;或者手机翻墙,电脑连手机热点,重新build(软件获取难度较大,推荐第一种);
②jdk找不到。解决办法:下载jdk(官网下载,推荐1.8),选择jdk所在文件夹即可,如何选择?在报错信息中有蓝色的链接,点击即可选择文件夹;
③协议not accepted.,在报错信息中,点击链接会弹出一个界面,选择accept即可;
5.build成功之后,会发现目录文件变化了(上边选择Android情况下)
6.运行到模拟器看看效果:
①这里用的是mumu模拟器(自己可以百度网易mumu模拟器下载),as自带的模拟器之前装的时候坑不少,就放弃了。
②下载好模拟器之后,打开模拟器,然后将as和mumu模拟器做关联:打开as左下角的Terminal,cd到D:\Android\Sdk\platform-tools目录下然后运行 adb connect 127.0.0.1:7555命令,此时右上角会变成这样:
这里说下,我的安卓sdk让我放到了d盘,安装时默认是在c盘,在c盘C:\Users\用户名\AppData\Local下的Android目录,直接剪切粘贴到d盘,然后,配置sdk:
配置sdk即可,下边还可以配置jdk;配置完,ok,进入项目中会弹一个warning,不过没关系;
上面完事之后,点击启动图标即可在mumu模拟器看到示例程序;
7.资源替换成自己的uni-app项目
打包之后,控制台会输出导出路径点击链接,打开文件所在文件夹,将www文件夹和示例目录下的www文件夹替换
点击www即可打开文件夹,替换即可;
8.替换自己的appid
打开manifest.ison复制自己的appid
复制之后,找到assets下的apps下的文件夹改名为你的appid(这里的图片是我已经改好了的)
这里需要注意一下的是,有的人会有疑问,我的是apps.xxxxx.www这种形式的,没办法改中间的xxxxx的名字,怎么办?
点击project files
选择rename之后,改名即可,不要直接改资源管理器中的文件夹名,那样怕项目中有依赖到的文件就麻烦了;
修改data下的dcloud_control.xml中的appid;
9.替换完毕,删除模拟器之前运行示例而安装的应用,然后点击启动按钮,就可以看到自己的项目了;
10.替换包名为自己的
复制包名,tips: 这里我已经改成自己的了,你们复制自己的就好;
app文件夹右键,选择replace in path
然后写上自己的包名,规范自己百度,这里我懒了,在人家原来的基础上改了一下,哈哈;然后点击replace all 全局替换;
然后在资源管理器中找到文件夹,将下边的文件夹也改上名字
11.替换图标(启动图等)
12.修改第三方sdk的配置信息这块我没有用到,读者可以看上边的博客,或者官方文档;
13.打包成apk
选择下边这个,然后next,会到这个界面
一脸懵逼,不知道填啥,选择create new,
然后,最上边的是让你选择key文件存储的地方,选择一个你要存放的文件夹,然后给key文件起个名,点击ok;
两处password和confirm是让你填密码和确认密码的地方,填上你的密码,别忘了就行;
Alias是给你的key文件起个别名;
最下边的6个input框是让你输入一些信息,翻译如下:
你的名字,
你的组织单位,
你的组织结构,如公司啊,什么的,
所在地区,
所在国家,
国家代码,中国是86
都填完了,点击ok,弹出下面的界面;
点击next,弹出下面的界面;
选择要存放apk的位置然后选择release,下边的勾上,点击finish,等待一会儿,ok;生成了apk之后完毕;
14.tips
最后注意一下,请求接口我是封装了一个request.js文件,在开发的时候,为了解决跨域的问题,在manifest.json中配置了url前缀,所以request.js中请求只写了接口的后边部分,这样打包之后h5是没有问题的,放在服务器下会自动走当前的url + 接口后缀,但是打包成安卓后,接口不好用,因为没有拼接前缀,解决办法可以用uni-app的条件编译判断一下,h5的话不写前缀,app下拼上前缀即可;