vlc-android 的編譯過程

懶企鵝發表於2017-07-07

參考官方文件:https://wiki.videolan.org/AndroidCompile#Get_VLC_Source

值得注意的的地方:

1.切記安裝以下工具

sudo apt-get install automake ant autopoint cmake build-essential libtool \
     patch pkg-config protobuf-compiler ragel subversion unzip git \
    openjdk-8-jre openjdk-8-jdk
最好設定代理,應為有些包不翻牆太慢,還容易出錯
2.修改

compile.sh
應為這個包有點大,翻牆也慢

最好先下載好,在本地搭建伺服器,然後替換路徑

如:

GRADLE_URL=http://127.0.0.1/gradle-3.4.1-bin.zip

貌似後面還有一次下載該檔案,找不到在哪裡修改路徑,直接中斷程式,查詢零時檔案發現在/root/.gradel/wrapper/dists/gradel-3.4.3-bin/xxx/下

刪除原先的檔案,替換為

gradle-3.4.1-bin.zip
重新執行指令碼


3.記錄一個錯誤:

make: Leaving directory `/root/AndroidStudioProjects/vlc-android/medialibrary'
Dumping dbg symbols info .dbg/armeabi-v7a
fatal: Not a git repository (or any of the parent directories): .git

FAILURE: Build failed with an exception.

* Where:
Build file '/root/AndroidStudioProjects/vlc-android/vlc-android/build.gradle' line: 203

* What went wrong:
A problem occurred evaluating project ':vlc-android'.
> Process 'command 'git'' finished with non-zero exit value 128

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 1.954 secs

google了好久還是不知道怎麼解決,有人說是git下載不完全導致建議重新編譯,

想想應該是最後一步了,重來代價太大,4.2G的檔案又要下好久。

索性看看程式碼,看能怎麼改一下:

def revision() {
    def code = new ByteArrayOutputStream()
    //exec {
    //    commandLine 'git', 'rev-parse', '--short', 'HEAD'
    //    standardOutput = code
    //}
    return code.toString()
}

應該是跟版本相關的,註釋掉後者隨便給一個字串應該沒關係

重新執行,果然成功了

在 vlc-android/vlc-android/build/outputs/apk/下會生成安裝包



相關文章