天津储鑫盛钢材现货供应商 发表于 2024-6-14 21:41:07

Uniapp App离线打包流程(Android、IOS待续)

开发环境:
Visual Studio Code 版本:1.84.2 (非必需,可跳过)
HBuilder X 版本:3.96
Android Studio 版本: 2022.1.1
JDK 版本:11.0.1
Android SDK. 版本:34.0.0
Android 打包流程

官网打包流程:https://nativesupport.dcloud.net.cn/AppDocs/usesdk/android.html)
https://img-blog.csdnimg.cn/efab8be2b32144768051063d3ba3b703.png
1)下载Android 离线SDK

温馨提示:网盘下载如龟速,如需要SDK可以加V benjamin19950304
2)申请Appkey

由于uniapp 3.1.10版本起需要申请Appkey,以是我们首先要注册一个 dcloud开发者平台 账号,申请应用,天生Appkey。
https://img-blog.csdnimg.cn/78c3ab68b6a148969b2114ab409135ba.png
2.1)登录开发者背景找到=>应用管理=>我的应用

https://img-blog.csdnimg.cn/fa3b059f21f745f6939a90873d055fbe.png
2.2)创建应用

https://img-blog.csdnimg.cn/80e683a86c924999930358703ec7c5d0.png
应用范例:默认选择uni-app
其他参数按需填写
https://img-blog.csdnimg.cn/1e874cdf18334826bd123aea51eb1f8c.png
2.3)增加应用平台信息

创建完成之后会回到应用列表,可以看到刚才创建的应用信息。
https://img-blog.csdnimg.cn/3016237482f0496c88ce11674ff313e5.png
点击刚才创建好的应用,可以看到应用的详细信息。
https://img-blog.csdnimg.cn/91b5855bac9d41b2b3a14a9813cb9ba7.png
找到“各平台信息”标签,左右侧有个“新增”的按钮,创建我们对应应用的平台信息。
https://img-blog.csdnimg.cn/6a07be6cbe9448229f84cd9e90bd26a6.png
所属平台:选择Android App
版本 :如果是发布应用市场,肯定选正式版,其他看本身的需求定。
包名 :根据本身的应用定,例如:com.xxx.xxx
Android 应用署名SHA1值 和 Android 应用署名SHA256 :就是你创建的Android打包署名文件(后缀.jks或者.keystore文件)
https://img-blog.csdnimg.cn/eaca4135bdf24202bee232cd3a83e849.png
2.4)应用署名获取

2.4.1)keytool -v -list -keystore 文件名称.jks

https://img-blog.csdnimg.cn/20210105114746201.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NDkzODQ4,size_16,color_FFFFFF,t_70
根据JDK版本不同,有效户反馈这种方式获取不到MD5值,如下图,别急,看第三种方式。
https://img-blog.csdnimg.cn/20210105114924982.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NDkzODQ4,size_16,color_FFFFFF,t_70
2.4.2)AS工具获取,Gradle->app->Tasks->android->signingReport

https://img-blog.csdnimg.cn/20210105115245811.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NDkzODQ4,size_16,color_FFFFFF,t_70
2.5)天生Appkey

https://img-blog.csdnimg.cn/34b6e5b9522e49268bcb3604eebd67f0.png
点击创建按钮天生Appkey
https://img-blog.csdnimg.cn/066108ca570543e39f8dccfa65ac54ae.png
到这Appkey就算搞定了,等待备用。
3)Android Studio创建Android项目

File=>New Project
https://img-blog.csdnimg.cn/3194fe10bca24c60afd1bbbf18804ef7.png
直接创建一个空缺的项目
https://img-blog.csdnimg.cn/cb781007c6db419c943d71ccc04b2771.png
填写项目名称和包名,直接FInish就可以了
https://img-blog.csdnimg.cn/4f0b6ffbdf2a4b1185da8dbc610148fb.png
创建完成,你将看到上面的目录结构,然后等待项目build完即可。
4)导入uniapp的离线SDK

解压官方的离线SDK,找到SDK文件夹的libs
https://img-blog.csdnimg.cn/2bedd407c0cb4aaeaa9cbf36048e0c22.png
找到对应的libs文件
lib.5plus.base-release.aar
android-gif-drawable-release@1.2.23.aar
uniapp-v8-release.aar
oaid_sdk_1.0.25.aar
breakpad-build-release.aar
拷贝到libs目录下
https://img-blog.csdnimg.cn/d60fdf4cc8d941729a712179d0c12cf2.png
HBuilderX3.2.5版本之后适配了AndroidX。
AndroidX版本需添加如下资源
https://img-blog.csdnimg.cn/d7f448f78bc14cf1a06a6959239388eb.png
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation fileTree(include: ['*.aar'], dir: 'libs')
implementation 'androidx.appcompat:appcompat:1.6.1'
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.2.83'
implementation 'androidx.webkit:webkit:1.3.0'
aaptOptions {
      additionalParameters '--auto-add-overlay'
      ignoreAssetsPattern "!.svn:!.git:.*:!CVS:!thumbs.db:!picasa.ini:!*.scc:*~"
    }
点击右上角的Sync New按钮同步更新
https://img-blog.csdnimg.cn/6b79df889bf24b5fa8fa4a5324520b1b.png
找到项目的AndroidManifest.xml文件,把如下配置放到<application>节点下
<activity
            android:name="io.dcloud.PandoraEntry"
            android:configChanges="orientation|keyboardHidden|keyboard|navigation"
            android:hardwareAccelerated="true"
            android:label="@string/app_name"
            android:launchMode="singleTask"
            android:screenOrientation="user"
            android:theme="@style/TranslucentTheme"
            android:windowSoftInputMode="adjustResize"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
      </activity>
      <activity
            android:name="io.dcloud.PandoraEntryActivity"
            android:configChanges="orientation|keyboardHidden|screenSize|mcc|mnc|fontScale|keyboard|smallestScreenSize|screenLayout|screenSize|uiMode"
            android:hardwareAccelerated="true"
            android:launchMode="singleTask"
            android:permission="com.miui.securitycenter.permission.AppPermissionsEditor"
            android:screenOrientation="user"
            android:theme="@style/DCloudTheme"
            android:windowSoftInputMode="adjustResize"
            android:exported="true">
            <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=" " />
            </intent-filter>
      </activity>

      <meta-data
            android:name="dcloud_appkey"
            android:value="申请的Appkty" />
按照以上配置,并在meta-data节点下添加前面申请的Appkey即可。
5)天生app资源

如果你也是用Visual Studio Code开发的项目,那就按照完备步骤走,如果不是,直接跳到HBuilder X打包流程。
5.1)Visual Studio Code打包HBuilder X编译文件

https://img-blog.csdnimg.cn/1de39d155bf047a1843aa0d2d4840ec7.png
如果你是yarn
yarn build:app
如果你是npm
npm run build:app
之后找到dist=>build=>app文件,这个就是我们需要的文件了。
5.2)HBuilder X导入项目

https://img-blog.csdnimg.cn/25c6d584d0d84d7ab6129acb09734310.png
项目导入之后,我们配置一下manifest.json文件
https://img-blog.csdnimg.cn/9a05c05ab1c44a9fae9758f1711605dc.png
应用标识,也就是AppID,在前面申请Appkey创建应用的时候就已经天生了
https://img-blog.csdnimg.cn/c6acac14d6944a5aa9056aee3fdabec7.png
复制AppID到HBuilder X工程即可运行项目。
5.3)天生app打包资源

https://img-blog.csdnimg.cn/8f7162214330485aae66b46e1567ff5c.png
接下来会天生一个和我们AppID定名的文件夹
https://img-blog.csdnimg.cn/e07acea06e51423b88f6c5e366b16bd7.png
这个就是我们需要的app打包资源了。
6)导入uniapp工程下天生的app资源包

将我们在HBuilder X天生的app资源包,导入Android Studio工程
https://img-blog.csdnimg.cn/7828f0af2d1941a4a7652c5bffcd169e.png
把SDK的assets文件夹复制到Android Studio工程app=>src=>main下面。
https://img-blog.csdnimg.cn/a362e7e9054c43ae88dce6410cfcf8e1.png
接着创建一个apps文件夹,存放HBuilder X天生app文件的。
https://img-blog.csdnimg.cn/d8f8bbcb99bd4bf3b6d5c92c9656844d.png
修改dcloud_control.xml文件配置,也就是把我门的AppID放上去即可。
到这里着实你已经可以运行并打包apk文件了
7)打包APK文件

https://img-blog.csdnimg.cn/602d2697f3404836b14619d363ef27a5.png
https://img-blog.csdnimg.cn/e1d24100784047ed8dde011f32da72b8.png
如果你是国内市场,选择APK就可以了,想要上Google Play就选择Android App Bundle然后点击Next
https://img-blog.csdnimg.cn/a3b20c1b41cf4fa19c00278c8e1bb917.png
这里的打包署名文件就是前面创建Appkey天生的Android打包署名文件(后缀.jks或者.keystore文件)
https://img-blog.csdnimg.cn/0ed8c5305f1f4d4db4525ab1b028e972.png
填写完署名信息后,点击Next,选择release正式包Create即可
https://img-blog.csdnimg.cn/eb7c6bdce8aa4702bdc7ce52163b6ee9.png
这个app-release.apk就是我们需要的文件了,可以提交到应用市场的文件。
需要特别注意的是,如果你上传Google Play的应用市场,Google Pla会对你的apk文件举行二次署名,以是也会导致你的应用提示Appkey失败的类似题目,以是需要在Google Play背景找到署名文件的SHA1和SHA256重新天生新的Appkey,然后再打包aab文件提交即可。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Uniapp App离线打包流程(Android、IOS待续)