The application could not be installed XXX

問題摘要

Installation did not succeed.android

The application could not be installed: INSTALL_PARSE_FAILED_BAD_PACKAGE_NAME微信

Installation failed due to: 'null'app

出現場景: 在變體裏增長了 applicatinId 後綴 後安裝時出現的。

由於需求更改,須要增長變體,更改 applicationId ,因此在變體裏使用了 applicationIdSuffix 來增長個後綴。spa

defaultConfig {
    minSdkVersion config.minSdkVersion
    targetSdkVersion config.targetSdkVersion
    applicationId "com.skymxc"
    versionCode 1
    versionName "1.0.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

}

增長變體,更改後綴code

defaultConfig {
    minSdkVersion config.minSdkVersion
    targetSdkVersion config.targetSdkVersion
    applicationId "com.skymxc"
    versionCode 1
    versionName "1.0.0"

    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

}
flavorDimensions 'cloud'
productFlavors {
    oa41217 {
        dimension 'cloud'
        applicationIdSuffix "41217"
        versionCode 1
        versionName "1.0.0"
        
    }
}

而後在運行就出現上述問題了。開發

出現緣由: 增長的的後綴是純數字

applicationIdSuffix "41217"

這個要增長的後綴不能是純數字,要以字母開頭。文檔

如何修復: 以字母開頭。

applicationIdSuffix "a41217"

實際開發中確定不能這麼隨便的加個 a ,本身酌情考慮吧。get

排查過程

看提示是由於 解析包名出錯了,因此就查看包名,剛開始以爲沒什麼問題。
在開發者文檔裏看到了 applicationId 的命名規則:it

  • 必須至少包含兩段(一個或多個圓點)。
  • 每段必須以字母開頭。
  • 全部字符必須爲字母數字或下劃線 [a-zA-Z0-9_]。

猜想是否是後綴的值是否是也不能是純數字,因此改了字母開頭試了試。
果真沒有問題了。io

總結

applicationIdSuffix 的值不能是純數字,要以字母開頭

微信掃一掃,關注個人公衆號

微信掃一掃,關注個人公衆號

相關文章
相關標籤/搜索