Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

开发时全量编译不需要编译所有的productFlavor #259

Closed
msdx opened this issue Nov 4, 2016 · 5 comments
Closed

开发时全量编译不需要编译所有的productFlavor #259

msdx opened this issue Nov 4, 2016 · 5 comments

Comments

@msdx
Copy link
Contributor

msdx commented Nov 4, 2016

我发现当使用全量编译(由于 #242 的关系不得不使用)时,速度非常慢。今天才发现它会把所有的productFlavor都进行编译,然而我开发时是只使用其中一个的。
建议全量编译时只编译配置的productFlavor。如上述 #242 的原因,我在这次项目中用到全量编译的频率还是挺高的。

如下所述,所有flavor的debug版本都编译出来了:

-rw-rw-r-- 1 haohang haohang 11217688 11月  4 09:23 ParkHere-DevelopDebug-v3.7.apk
-rw-rw-r-- 1 haohang haohang 11118281 11月  4 09:24 ParkHere-OfficialDebug-v3.7.apk
-rw-rw-r-- 1 haohang haohang 11121411 11月  4 09:24 ParkHere-TestDebug-v3.7.apk

编译时间如下:

haohang@haohang-desktop:/workspace/project/park-here-android$ python freeline.py  -f
[INFO] preparing for tasks...
[-][read_project_info_task] finished. in 18.8s
[-][generate_file_stat_task] finished. in 0.0s
[-][gradle_clean_build_task] finished. in 151.4s
[-][clean_all_cache_task] finished. in 0.0s
[-][install_apk_task] finished. in 11.3s
[-][build_base_resource_task] finished. in 4.4s
[-][generate_project_info_task] finished. in 0.1s
[-][generate_apt_files_task] finished. in 0.0s
[-][append_file_stat_task] finished. in 0.0s
[DEBUG] --------------------------------------------------------
[DEBUG] Prepare tasks time: 0.1s
[DEBUG] Task engine running time: 181.5s
[DEBUG] Total time: 181.7s

其中光gradle_clean_build_task就耗费了151.4秒。

@lomanyong
Copy link
Member

@msdx freeline会自动生成编译的命令,在~/.freeline/cache/xxxxx/project_description.jsonbuildScript字段可以读到。你可以先看下这个编译命令是否正确。

通常来说,你是需要自己在 freeline dsl 配置指定的productFlavor,然后生成的命令就会是./gradlew ${main_module}:assemble${flavor}Debug

@msdx
Copy link
Contributor Author

msdx commented Nov 4, 2016

@lomanyong 配置如下:

    freeline {
        hack true
        productFlavor 'Develop'
    }

buildScript的值确实不对:"build_script": "./gradlew assembleDebug"
是我上面的配置有误?

@lomanyong
Copy link
Member

@msdx 我的锅....测试不充分了....。今天发0.8.1进这个修复。

现在的做法就是先加个配置项:buildScript: "your-build-script"可以临时解决你的问题。

@msdx
Copy link
Contributor Author

msdx commented Nov 4, 2016

@lomanyong 好的,谢谢

@lomanyong
Copy link
Member

@msdx 感谢提供case,今天晚些时候发布解决...T T

aa5279aa pushed a commit to aa5279aa/freeline that referenced this issue Dec 7, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants