HBuilderX项目打包安卓操作记录

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

打包方式 - 线上打包

⦁    登录 https://account.dcloud.net.cn/oauth2?client_id=DCLOUD_DEV
⦁    创建应用(操作简单直接略过),创建好了点击应用名称进入引用管理界面
 


 

⦁    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是证书名,取自己想要的
⦁    填写证书相关信息
 

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


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


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


离线打包


下载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出来放到自定义文件夹备用
   


2、创建Appkey,参考在线打包 2 、3 、4步骤
3、Android Studio 新建项目
 


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


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


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


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


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


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


 
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'


 

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:*~"  
 }


 
12、在AndroidManifest.xml中添加配置

 

<meta-data android:name="dcloud_appkey" android:value="替换为自己申请的Appkey" />


 

<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>


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

14、设置图标


 
15、运行到虚拟机看效果
 


注意事项:
1、根据官网打包配置之后有可能会报以下错误,需要在gradle.properties中配置
android.useAndroidX=true
android.enableJetifier=true

 


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


 
 
4、与元素类型 "application" 相关联的属性 "tools:replace" 的前缀 "tools" 未绑定。
在AndroidManifest.xml添加:xmlns:tools="http://schemas.android.com/tools"
 


5、


 
这是因为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

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值