天天看点

HBuilderX项目打包安卓操作记录

由于根据官网上面和百度出来的文章配置一直都有各种错误,最后成功了就记录一下配置过程。

打包方式 - 线上打包

⦁    登录 https://account.dcloud.net.cn/oauth2?client_id=DCLOUD_DEV

⦁    创建应用(操作简单直接略过),创建好了点击应用名称进入引用管理界面

HBuilderX项目打包安卓操作记录
HBuilderX项目打包安卓操作记录

⦁    SHA1证书生成

文档:https://ask.dcloud.net.cn/article/35777

⦁    下载jre 

网址:https://www.oracle.com/technetwork/java/javase/downloads/index.html

⦁    安装jre

⦁    设置环境变量

打开cmd 输入指令

set PATH=%PATH%;"C:\Program Files\Java\jre1.8.0_201\bin"

⦁    重启电脑

⦁    生成证书

打开cmd进入证书保存目录,输入指令

keytool -genkey -alias testalias -keyalg RSA -keysize 2048 -validity 36500 -keystore test.keystore

指令说明:

        -alias testalias:testalias是别名,取自己想要的

        -validity 36500:有效期,单位:天

        -keystore test.keystore:test.keystore是证书名,取自己想要的

⦁    填写证书相关信息

HBuilderX项目打包安卓操作记录

⦁    证书生成之后 使用指令keytool -list -v -keystore test.keystore 查看证书内容,将证书指纹SHA1的值复制并填写到上面第二点的第二张图中Android 证书签名SHA1位置

HBuilderX项目打包安卓操作记录
HBuilderX项目打包安卓操作记录

⦁    切换到HBuilderX 点击发行 -> 云原生打包 填写相关的信息就可以打包了

HBuilderX项目打包安卓操作记录

注意事项:

⦁    如果装完jre配置好环境变量之后还是会提示以下异常,请重启电脑之后再试

HBuilderX项目打包安卓操作记录

离线打包

下载HBuilderX的Android-SDK

https://nativesupport.dcloud.net.cn/AppDocs/download/android

下载Android Studio 的 gradle (离线方式,此方式尝试了很多遍都不行)

https://downloads.gradle-dn.com/distributions/gradle-6.7.1-bin.zip

以下地址需要开通访问权限

Android Studio 的 gradle (在线方式)

https://services.gradle.org 

Android Studio 的 构建工具

https://downloads.gradle-dn.com/ 

Android Studio 的 一部分资源包

    https://repo.maven.apache.org

https://jcenter.bintray.com/

https://maven.google.com

https://dl.google.com

1、HBuilderX中生成离线文件,将生成好的离线文件copy出来放到自定义文件夹备用

HBuilderX项目打包安卓操作记录
HBuilderX项目打包安卓操作记录

2、创建Appkey,参考在线打包 2 、3 、4步骤

3、Android Studio 新建项目

HBuilderX项目打包安卓操作记录
HBuilderX项目打包安卓操作记录
HBuilderX项目打包安卓操作记录
HBuilderX项目打包安卓操作记录

4、从下载好的HBuilderX Android SDK中 找出以下四个包

HBuilderX项目打包安卓操作记录
HBuilderX项目打包安卓操作记录

⦁    将上面四个包放入项目路径中

HBuilderX项目打包安卓操作记录

7、从下载好的HBuilderX Android SDK中拿出assets文件夹并将整个文件夹复制到项目中(整个文件夹拖动进去就好)

HBuilderX项目打包安卓操作记录
HBuilderX项目打包安卓操作记录
HBuilderX项目打包安卓操作记录

8、将第一步HBuilderX生成好的项目文件拖进Android Studio 项目中

HBuilderX项目打包安卓操作记录
HBuilderX项目打包安卓操作记录

9、请注意选中的几个文件还有res文件夹中的文件,接下来将会对这几个文件进行修改配置,

HBuilderX项目打包安卓操作记录
HBuilderX项目打包安卓操作记录
HBuilderX项目打包安卓操作记录
HBuilderX项目打包安卓操作记录
HBuilderX项目打包安卓操作记录

10、将证书复制到app文件夹中

HBuilderX项目打包安卓操作记录
HBuilderX项目打包安卓操作记录

11、在build.grandle(:app)中添加配置

implementation fileTree(dir: 'libs', include: ['*.aar', '*.jar'], exclude: [])
 implementation "com.android.support:support-v4:28.0.0"
 implementation "com.android.support:appcompat-v7:28.0.0"
 implementation 'com.android.support:recyclerview-v7:28.0.0'
 implementation 'com.facebook.fresco:fresco:1.13.0'
 implementation "com.facebook.fresco:animated-gif:1.13.0"
 implementation 'com.github.bumptech.glide:glide:4.9.0'
 implementation 'com.alibaba:fastjson:1.1.46.android'
           
HBuilderX项目打包安卓操作记录
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
            ...
        }
}
           
aaptOptions {  
     additionalParameters '--auto-add-overlay'  
     ignoreAssetsPattern "!.svn:!.git:.*:!CVS:!thumbs.db:!picasa.ini:!*.scc:*~"  
 }
           
HBuilderX项目打包安卓操作记录

12、在AndroidManifest.xml中添加配置

<meta-data android:name="dcloud_appkey" android:value="替换为自己申请的Appkey" />
           
HBuilderX项目打包安卓操作记录
<activity
      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:name="io.dcloud.PandoraEntryActivity"
      android:launchMode="singleTask"          
 android:configChanges="orientation|keyboardHidden|screenSize|mcc|mnc|fontScale|keyboard"
      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>
  <!--provider节点必须添加-->
  <provider
      android:name="io.dcloud.common.util.DCloud_FileProvider"
      android:authorities="${apk.applicationId}.dc.fileprovider"
      android:exported="false"
      android:grantUriPermissions="true">
      <meta-data
          android:name="android.support.FILE_PROVIDER_PATHS"
          android:resource="@xml/dcloud_file_provider" />
  </provider>
           
HBuilderX项目打包安卓操作记录

13、权限复制,在HBuilderX项目中,将manifest.json的权限配置,复制到Android Studio项目中的AndroidManifest.xml

HBuilderX项目打包安卓操作记录
HBuilderX项目打包安卓操作记录

14、设置图标

HBuilderX项目打包安卓操作记录
HBuilderX项目打包安卓操作记录

15、运行到虚拟机看效果

HBuilderX项目打包安卓操作记录

注意事项:

1、根据官网打包配置之后有可能会报以下错误,需要在gradle.properties中配置

android.useAndroidX=true

android.enableJetifier=true

HBuilderX项目打包安卓操作记录

2、在VM中Android Studio 的模拟器安装不了(可能需要vm去怎么配置,没有去研究)

3、模拟器运行时黑屏处理

HBuilderX项目打包安卓操作记录
HBuilderX项目打包安卓操作记录
HBuilderX项目打包安卓操作记录

4、与元素类型 "application" 相关联的属性 "tools:replace" 的前缀 "tools" 未绑定。

在AndroidManifest.xml添加:xmlns:tools="http://schemas.android.com/tools"

HBuilderX项目打包安卓操作记录

5、

HBuilderX项目打包安卓操作记录

这是因为AndroidManifest.xml没有配置action

文章整理参考来源于:

HCloud文档

https://nativesupport.dcloud.net.cn/AppDocs/usesdk/appkey

博主WeHi的文档

https://blog.csdn.net/weixin_44503391/article/details/106341080?spm=1001.2014.3001.5501