1. 程式人生 > >CORDOVA :新增cordova-plugin-file-opener2外掛cordova打包報錯

CORDOVA :新增cordova-plugin-file-opener2外掛cordova打包報錯

原文: CORDOVA :新增cordova-plugin-file-opener2外掛cordova打包報錯

最近在接觸android專案,其中涉及到APP自動更新的問題,當新APP下載成功後需要開啟呼叫cordova.plugins.fileOpener2.open,但是當引用了cordova-plugin-file-opener2外掛後,重新打包專案發現報錯;

程式碼:

function downloadFile() {
	$('#bbsm').css({
		'height' : '200px',
		'padding-top' : '20px',
		'text-align' : 'center',
		'font-size' : '18px',
		'font-weight' : 'bold',
		'line-height' : '180px'
	});
	document.getElementById("bbsm").innerHTML = ''
			+ '<div class="progress progress-striped active">'
			+ '<div id="jdt_div" class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="">'
			+ '</div>' + '</div>';
	// 下載路徑
	var uri = encodeURI(Mobile_download);
	var file = cordova.file.externalDataDirectory;
	// 儲存路徑
	var fileURL = encodeURI(file + 'update.apk');
	fileTransfer.download(uri, fileURL, function(entry) {
		// 下載成功開啟檔案
		cordova.plugins.fileOpener2.open(entry.toURL(),
				'application/vnd.android.package-archive').then(function() {
		}, function(err) {
		});
	}, function(error) {
		// 下載失敗
	}, false, {
		headers : {
			"Authorization" : "Basic dGVzdHVzZXJuYW1lOnRlc3RwYXNzd29yZA=="
		}
	});

報錯資訊如下:

最後通過查詢各種資料終於解決了問題,解決方案:

在Android專案中找到platforms\android\app, 建立一個build-extras.gradle,內容為:

configurations.all {
    resolutionStrategy {
        force 'com.android.support:support-v4:27.1.0'
    }

}

如圖:



以上內容若有錯誤,歡迎批評指正。