第11步没写完,后面还有些内容(第三方sdk配置之类的),有空再补上
第一步:正常运行的uniapp
你得有个uniapp,配置是好的可以在微信开发者工具中看的那种,小程序都用不了,就别考虑打包安卓了。
第二步:官方指南
点击HBuilder的发行 --> 原生App-本地打包 -->Android本地打包指南
告诉你这个是省得你找各种文档了,官方已经给你搞了一个指南:
下面的操作都是跟着指南来,不过千人千变,并没有步步都跟指南一模一样(因为会有各种各样的问题),所以就记录一下。
第三步:环境准备
跟着指南来
1)下载Android Studio,带着版本号然后百度,就会有安装教程了。
别以为搞uniapp安卓了,就不用了解原生安卓的开发了,uniapp安卓打包要借助Android Studio 安卓开发工具的。建议你懂一点原生安卓开发,会用这个Android Studio,弄目录结构就差不多了。
2)HBuilderX,我直接就下载了App开发版
3)下载App离线SDK
这一步是为了后面,我们需要一些jar包和一些文件,都在这个App离线SDK里,先下载好。
第四步:Android Studio 新建工程
官方截图有点旧,我的新建工程图:
注意点:包名,项目名别用中文哈
第五步:配置工程
1) 找App离线SDK里的四个jar包
这个就是刚刚说的要用到App离线SDK里的jar了,四个jar包,它在:
HBuilder-Integrate-AS\simpleDemo\libs
注意点:HBuilder-Integrate-AS\simpleDemo\libs 这个路径的jar包刚好是我们要的四个,如果你去其他文件夹找了,你会发现超级多的jar包。。。。
2)复制jar包到自己的Android Studio的新项目里
3)在主app的build.gradle进行相关配置
(这就需要你懂原生安卓的目录结构了,不然你都分不清是哪个文件)
multiDexEnabled true
aaptOptions {
additionalParameters '--auto-add-overlay'
ignoreAssetsPattern "!.svn:!.git:.*:!CVS:!thumbs.db:!picasa.ini:!*.scc:*~"
}
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation fileTree(include: ['*.aar'], dir: 'libs')
implementation 'androidx.appcompat:appcompat:1.0.0'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.recyclerview:recyclerview:1.0.0'
implementation 'com.facebook.fresco:fresco:2.5.0'
implementation "com.facebook.fresco:animated-gif:2.5.0"
implementation 'com.github.bumptech.glide:glide:4.9.0'
implementation 'com.alibaba:fastjson:1.1.46.android'
4)配置Appkey
1. 生成安卓平台签名证书
注意点:一定要记住别名,一定要记住密码,命令运行完成后就会生成证书,在你的命令行的地址那里。
Android平台签名证书(.keystore)生成指南 - DCloud问答https://ask.dcloud.net.cn/article/35777
2. 生成Appkey
原生开发者支持DCloud 原生开发者支持网站 uni小程序SDK、App离线打包SDK、原生插件开发https://nativesupport.dcloud.net.cn/AppDocs/usesdk/appkey注意点:你的包名,证书别名,证书的SHA1,还有你的uniapp的AppID,要保证没写错哦
3.配置Appkey
<meta-data
android:name="dcloud_appkey"
android:value="替换为自己申请的Appkey" />
4. android平台-配置签名文件打包编译(修改完build.gradle,要sync now)
注意点:debug的不要漏掉,不然你在Android Studio上运行会提示 appkey is not configured or configured incorrect。
signingConfigs {
config {
keyAlias '签名别名'
keyPassword '密码'
storeFile file('xxx.keystore或xxx.jks')
storePassword '密码'
v1SigningEnabled true //兼容v1
v2SigningEnabled true //兼容v2
}
}
buildTypes {
debug {
signingConfig signingConfigs.config
...
}
release {
signingConfig signingConfigs.config
...
}
}
5)AndroidManifest.xml配置应用启动页
注意点:用官方的我没把项目运行起来,搜了一下每个Activity要加一行代码
android:exported = "true"
<activity
android:exported = "true"
android:name="io.dcloud.PandoraEntry"
android:configChanges="orientation|keyboardHidden|keyboard|navigation"
android:label="@string/app_name"
android:launchMode="singleTask"
android:hardwareAccelerated="true"
android:theme="@style/TranslucentTheme"
android:screenOrientation="user"
android:windowSoftInputMode="adjustResize" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:exported = "true"
android:name="io.dcloud.PandoraEntryActivity"
android:launchMode="singleTask"
android:configChanges="orientation|keyboardHidden|screenSize|mcc|mnc|fontScale|keyboard|smallestScreenSize|screenLayout|screenSize"
android:hardwareAccelerated="true"
android:permission="com.miui.securitycenter.permission.AppPermissionsEditor"
android:screenOrientation="user"
android:theme="@style/DCloudTheme"
android:windowSoftInputMode="adjustResize">
<intent-filter>
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<action android:name="android.intent.action.VIEW" />
<data android:scheme="h56131bcf" />
</intent-filter>
</activity>
6) 修改应用名(可以放在运行成功之后再返回来搞)
7)配置应用图标和启动界面(可以放在运行成功之后再返回来搞)
图标设置:
启动页面:
.9 图片各黑边
- 左边黑线:垂直拉伸区域,必须要画的
- 上边黑线:水平拉伸区域,必须要画的
- 右边黑线:在垂直拉伸的时候,内容显示区域(不是必须要画的)
- 下边黑线:在水平拉伸的时候,内容显示区域(不是必须要画的)
所以我们的启动页面 准备720*1242尺寸的图,然后只在左边和右边描黑边,最后注意图片放的位置别放错了!!!!!!放的位置是drawable-xhdpi(这个文件夹直接新建就可以了)
具体描黑边的做法:因为准备的尺寸图,大体上符合市面上的机型了,所以我们描黑边,只描要伸展或者缩小的地方,不要描太多,不然为了你的不失真区域,就会把你黑边的地方都给你缩了,就成了局部放大的效果了。(横向多,纵向少)
参考文档:
android启动页底部图案,用一张正方形图片搞定安卓启动页_weixin_39593247的博客-CSDN博客
第六步:HbuilderX 生成本地打包资源
第七步:Android Studio打包资源配置
1)创建assets文件夹(在Android Studio里创建文件夹,不要直接在文件管理器里创建)
2) 在assets文件夹里创建 apps、data 两个文件夹
3)把打包的AppID文件名的资源复制粘贴到apps
4) 把离线打包SDK的SDK里的assets里的data里的三个文件复制粘贴到我们新建的data文件夹
5)修改dcloud_control.xml文件,填写自己uniapp AppID
第八步:在Android Studio 点击运行
第九步:如果运行成功,就可以用Android Studio打一个debug版本的包了
第10步:发测试包给其他人员
第11步:模块及三方SDK配置
如果你的项目有用了第三方:比如地图、支付,你就要在安卓里进行相关SDK配置还有权限配置。
在模块及三方SDK配置之前,我们需要生成自定义基座,来达到app调试的目的,不然你就会觉得我什么都配好了,怎么还是跑不起来,哪出了问题,出了什么问题都不知道。。。。。。
1)生成自定义基座
使用该基座