android 源碼編譯問題(google連接,java版本)


在使用的過程中如果出現,Exited sync due to fetch errors的問題,需要翻墻上https://www.googlesource.com/new-password?state=android&code=4/QCCLZrwNYhBWWlrFHJ46vAfmOZH_dzebTiGCdRTCb10#
這個網址,然后將框框內的命令復制拷貝到命令行中,然后再次進行repo sync即可
主要是在同步的過程中谷歌會去驗證你的身份,如果沒有注冊過google的話,可能會出現無法同步的問題

在編譯源碼的過程中還有個java版本的問題,這里需要強調java版本一定要使用openJDK1.8版本,自從android5.0開始源碼需要用OpenJDK去編譯了,如果環境變量使用的Oracle的java版本那么會報錯,android studio之前無法使用OpenJDK,現在可以直接使用,所以以后android就去使用openJDK。

這里還有一個java版本切換的問題
sudo update-alternatives --config java
這個命令行可以進行判定當前系統內的java版本,并且可以進行java版本切換
如果切換了之后通過java -version命令發現java版本仍然沒有切換過來,就有必要去which -a -java去看一下有多少個java啟動文件,或者還是環境變量~/.bashrc沒有配好。

當編譯完了之后,需要將源碼導入到android stuido
http://www.lxweimin.com/p/fb16fa459acf
即可完成對源碼的導入
在導入源碼的過程中遇到了如下問題:

  1. 在導入源碼之前需要將android studio的配置文件studio64.vmoptions修改為如下的高配
-Xms2048m
-Xmx4096m
-XX:MaxPermSize=2048m
-XX:ReservedCodeCacheSize=1024m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
  1. 首先需要按照上面文章中說的將modules中的所有依賴除了最后的那兩個之外都要清空,然后導入那兩個文件夾,并且將這兩個文件夾置頂先引用,并且在這個界面的上面的SDK一定要選擇相應的SDK,最終界面如下


    Paste_Image.png
  2. 在module setting的Project選項中一定要選擇合適的SDK和合適的java版本,如下:


    Paste_Image.png

    4.在module的source選項卡中可以將不需要的文件夾先exculed掉,加強AS的編譯,萬一加載的時候報錯了,可以再將其釋放出來

  3. 暫時遇到NDK的方法無法解析出來,依然爆紅之外,其他的紅色警告基本可以通過相應修改正確報名
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容