天天看點

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