坑系列(四)Program type already present a.a.a.a.a

我先交代一下背景,我編寫的兩個sdk,在進行混淆打包後,發現兩個sdk混淆後的文件命名衝突了,導致編譯無法通過。通過log可知是由於a.a.a.a.a文件同名衝突所致。
在這裏插入圖片描述

方案1

在混淆時,通過使用keeppackagenames字段,來保留包名,來確保每個混淆文件的唯一性。兩個sdk的處理邏輯是一樣的,其中一個proguard-rules.pro 配置如下:

	// com.ls.support是我的包名
	-keeppackagenames com.ls.support.**
更新於20/04/07

今天又遇到了混淆後同名文件衝突問題,原因是兩個sdk內部同時引用了一個開源基礎庫,但是sdk內沒有進行防混淆,導致兩個sdk內同時存在a.a.a.a包,導致衝突。所以解決方案,就是在sdk內進行防混淆,避免混淆別的依賴。

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