日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

Android Portal&Bundle 接入問題

本文介紹了 Android Portal&Bundle 常見的接入問題。

編譯時無網絡連接

在編譯文件時,如果沒有網絡,很有可能造成編譯失敗。通過以下步驟,確認編譯環境的網絡已連接。

  1. 確認已連接到互聯網。

  2. 確認未連接網絡代理,包括瀏覽器代理設置、第三方網絡代理軟件等。

  3. 確認未設置 IDE 代理。

    idea 代理
  4. gradle.properties 文件中,確認未設置 Gradle 代理,即未設置 systemProp.http.proxyHostsystemProp.http.proxyPort 屬性。如果有設置,刪除相關屬性即可。 gradle代理

程序編譯失敗

如果程序編譯失敗,可通過以下步驟進行排錯與解決。

  1. 根據 編譯時無網絡連接,確認編譯環境網絡已正常連接。

  2. 檢查 Gradle 執行記錄,確認新增的依賴有效。

  3. 檢查依賴的 GAV(groupartifactversion)參數設置正確。

    //引用 debug 包group:artifact:version:raw@jar
    bundle "com.app.xxxxx.xxxx:test-build:1.0-SNAPSHOT:raw@jar"
    //引用 release 包group:artifact:version@jar
    bundle "com.app.xxxxx.xxxx:test-build:1.0-SNAPSHOT@jar"
    manifest "com.app.xxxxx.xxxx:test-build:1.0-SNAPSHOT:AndroidManifest@xml"
  4. 在系統自帶的命令行工具中,執行以下命令,導出 Gradle 執行記錄:

    // 執行命令前,確認未定義 productflavor 屬性。否則,命令會運行失敗。
    // 以下命令將執行記錄導出至 log.txt 文件中。
    gradle buildDebug --info --debug -Plog=true > log.txt
  5. 查看步驟 4 中導出的記錄文件,在最新生成的記錄中,會看到類似如下記錄,表示新增的依賴不存在。

    Caused by: org.gradle.internal.resolve.ArtifactNotFoundException: Could not find nebulacore-build-AndroidManifest.xml (com.alipay.android.phone.wallet:nebulacore-build:1.6.0.171211174825).
    Searched in the following locations:
    http://mvn.cloud.alipay.com/nexus/content/repositories/releases/com/alipay/android/phone/wallet/nebulacore-build/1.6.0.171211174825/nebulacore-build-1.6.0.171211174825-AndroidManifest.xml
         at org.gradle.internal.resolve.result.DefaultBuildableArtifactResolveResult.notFound(DefaultBuildableArtifactResolveResult.java:38)
         at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.CachingModuleComponentRepository$LocateInCacheRepositoryAccess.resolveArtifactFromCache(CachingModuleComponentRepository.java:260)
  6. 訪問該記錄中的 HTTP 鏈接(如上一步所列記錄中的第 3 行)并登錄,查看 Maven 倉庫。

    說明

    您可以在 build.gradle 文件中查看登錄時需要提供的賬戶名和密碼。

  7. 執行以下命令刷新 gradle 緩存。

    gradle clean --refresh-dependencies
  8. 如果 Maven 倉庫有對應依賴,刪除個人目錄下 Gradle 緩存,然后重新編譯。刪除 Gradle 緩存的方法如下:

    • 在 macOS、Linux、Unix 等系統中運行以下命令。

      cd ~
      cd .gradle
      cd caches
      rm -rf modules-2
    • 在 Windows 系統中,默認情況下,路徑定位到 C:\Users\\{用戶名}\\.gradle\caches,刪除 modules-2 文件夾。

編譯過程中出現卡頓

如果編譯過程卡頓(等待超過 20 分鐘),您可以通過以下步驟提高編譯效率。

  1. 根據 上文步驟,確認編譯環境網絡已正常連接。

  2. 確認防火墻已關閉。

  3. 確認未開啟 IntelliJ IDEA 編譯器的網絡配置。

  4. 在代碼中,提前加載 Maven 鏡像。例如,以下是阿里云加載 Maven 鏡像的代碼。

     apply plugin: 'maven'
     buildscript {
         repositories {
             mavenLocal()
    
     // 開始先加載 Maven 鏡像
             maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}
    
             maven {
                 credentials {
                     username "請使用已知用戶"
                     password "請使用已知密碼"
                 }
                 url "http://mvn.cloud.alipay.com/nexus/content/repositories/releases/"
             }
         }
         dependencies {
             classpath 'com.android.tools.build:gradle:2.1.3'
             classpath 'com.alipay.android:android-gradle-plugin:2.1.3.3.3'
             classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
         }
     }
     allprojects {
         repositories {
             flatDir {
                 dirs 'libs'
             }
             mavenLocal()
             maven {
                 credentials {
                     username "xxxxxxxxx"
                     password "xxxxxxx"
                 }
                 url "http://mvn.cloud.alipay.com/nexus/content/repositories/releases/"
             }
             maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}
         }
     }

編譯不通過且出現 NullPointerException

空指針異常在接入專有云時,下載配置文件并接入 mPaaS 后,編譯不通過并且出現 NullPointerException。如果遇到此類問題,一般需要對 config 配置文件中的字段進行檢查。檢查 13 個字段是否有缺少,和公有云下載過來的文件進行對比,確認字段名是否正確。

如何調試應用

開發過程中需要調試代碼,本文介紹兩種調試方式。

  • 以調試模式啟動應用

  • 應用運行后調試

以調試模式啟動應用

  • 使用場景

    希望調試應用啟動時的最初代碼,比如在 application init 時初始化代碼。

  • 操作步驟

  1. 執行命令 adb shell am start -W -S -D 應用包名/應用第一個啟動的頁面類名。例如,mPaaS Demo 的包名是 com.mpaas.demo,應用第一個啟動的頁面類名是com.alipay.mobile.quinox.LauncherActivity,那么可以使用命令行 adb shell am start -W -S -D com.mpaas.demo/com.alipay.mobile.quinox.LauncherActivity 以調試模式啟動應用。第一個啟動的類名如下圖所示。

    img
  2. 執行命令之后,手機會彈出如下對話框。

  3. 對希望調試的代碼行設置斷點,然后附著到應用所在進程即可,如圖。

    修改2.jpg

應用運行后調試

  • 使用場景

    在觸發某個事件之后進行調試,比如單擊某個按鈕或者跳轉某個頁面才需要調試。

  • 操作步驟

    在應用運行后,單擊附著進程(process)按鈕,或者在執行上述命令后,再單擊附著按鈕開始調試。

在 mPaaS Portal&Bundle 工程中使用 MultiDex 的注意事項

Portal 和 Bundle 不建議介入 MultiDex,除非您是單 portal 工程,需要使用multiDexEnabled true。如果您的 Bundle 過大,目前只能使用拆分 bundle 的方式進行,不要在 bundle 中開啟 multidex 支持。

如何清除 Gradle 緩存

打開 Gradle 插件的設置界面,單擊 Clean Cache 按鈕,即可刪除 Gradle 插件的所有緩存數據。

插件設置界面

如何升級到最新的 Gradle 插件

說明

本節內容只適用于 10.1.68 系列基線。更多關于該版本基線的信息,請參見 基線簡介10.1.68 系列基線發布說明

目前 Google 官方提供的 Android Gradle Plugin 是 3.5.x 版本。

mPaaS 也提供了 3.5.x 版本的插件作為適配,可支持 Google Android Gradle Plugin 3.5.3 和 Gradle 6.2 的 API。

引入方式的變化

  1. 您只需要通過添加以下依賴來引入我們的插件,不需要引入 Android Gradle Plugin 官方插件,因為依賴傳遞的關系,會自動引入。

    dependencies {
    classpath 'com.alipay.android:android-gradle-plugin:3.5.18'
    }
  2. Gradle Wrapper 的版本需要升級到 5.6 以上,推薦使用 6.2。

使用方式的變化

  • 不再需要使用 apply plugin:'com.android.application'

    • 如果您是 portal 工程,僅需要使用 apply plugin:'com.alipay.portal'

    • 如果您是 bundle 工程,需要刪除 apply plugin:'com.android.application', 僅需要使用 apply plugin:'com.alipay.bundle'

    • 如果您是 library 工程,需要刪除 apply plugin:'com.alipay.library', 僅需要使用 apply plugin:'com.android.library

  • 如果使用最新穩定版本 Android Studio 3.5 或以上,那么您需要在 gradle.properties 里面新增 android.buildOnlyTargetAbi=false

  • 由于我們的無線保鏢組件暫不支持 V2 簽名,如果您需要使用 Android Studio 調試并安裝您的 APK,那么您需要禁用 V2 簽名;如果您使用命令行進行構建,且您的 minSdkVersion 大于等于 24,則您也需要禁用 V2 簽名。禁用 V2 簽名的方式如下:

    v2SigningEnabled false
重要

清除緩存后需觀察確認小程序和 H5 能否正常工作。