在打包APK時出現上述語句,無法正確打包。我的情況是,程式可以編譯,可以執行,也可以生成debug版本的安裝包,但是在打包release版本的apk時打包失敗。
主要原因是因為程式碼使用不規範,因為realse版本對語法的檢查是最嚴格的,有時有些程式碼使用不規範在debug版本可以正常編譯,但是在releas版本就會報錯。
可以在「messages view參看報錯 」
如下:
由上圖可以看到,有三個子視窗,第二個子視窗應該就是messageview,我是看了裡面的報錯資訊改正之後就可正常打包了。
下面說一下我的不規範的程式碼,因為之前重用了團隊的C++程式碼,在裡面有用到模板程式設計:
模板程式設計,標準用法應該是,函數的宣告和定義要定義在一塊,並且要放在標頭檔案中,在要使用呼叫時包含其標頭檔案即可,但是在團隊的C++程式碼中,他是將模板函數的宣告和定義全部放在了Cpp檔案中,在使用時在要呼叫該模板函數的檔案頭新增宣告:
不知道他們為什麼要這樣做,這樣只會出現兩種結果,一種是函數重複定義,一種是無法找到函數宣告。改正之後apk即可正常打包,所以寫程式碼一定要規範一些,不然就是再給自己寫bug。