android 應用更新安裝時出現《 文件包與具有同一名稱的現有文件包衝突》小記錄

前言:實現應用自動下載更新時,在安裝時出現“文件包與具有同一名稱的現有文件包衝突”的錯誤。

 

因爲適配7.0以上獲取內置路徑的適配,添加了配置一些配置:

<provider
            android:name="android.support.v4.content.FileProvider"
            android:authorities="包命.fileprovider"
            android:exported="false"
            android:grantUriPermissions="true"
            tools:replace="name,authorities,exported,grantUriPermissions">
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/file_paths"
                tools:replace="name,resource"></meta-data>
        </provider>

開始以爲是authorities的錯誤,經過檢查並不是由它引起的。

思考:會不會是debugger調式參數和正式release參數不一致引起。畢竟是在AS上run as直接跑的。 

驗證該這個判斷:通過直接打包apk進行安裝的方式去測試,沒問題,確實證明了release環境打包出來的apk安裝是沒問題的,那麼可能是debug環境缺少release環境的某些配置。與release環境不一致。

解決:既然正式環境簽名是什麼配置,我們調式環境也配置一樣即可。

 signingConfigs {
        release {
            keyAlias props['KEY_ALIAS']
            keyPassword props['KEY_PASSWORD']
            storeFile file(props['STORE_FILE'])
            storePassword props['STORE_PASSWORD']
            v2SigningEnabled true
        }
    }
 buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.release
        }
        debug {
            signingConfig signingConfigs.release
        }
    }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章