alibaba / freeline Goto Github PK
View Code? Open in Web Editor NEWA super fast build tool for Android, an alternative to Instant Run
Home Page: https://www.freelinebuild.com/
License: BSD 3-Clause "New" or "Revised" License
A super fast build tool for Android, an alternative to Instant Run
Home Page: https://www.freelinebuild.com/
License: BSD 3-Clause "New" or "Revised" License
Expecting a stackmap frame at branch target 22 Exception Details: Location: R$styleable. ()V @10: ifeq Reason: Expected stackmap frame at this location. Bytecode: 0x0000000: 2ab7 02dc b202 e2b6 02e6 9900 0cb2 02ec 0x0000010: 1302 eeb6 02f4 b1
python freeline.py -f
执行这个命令后还是要36s以上
[gradle_clean_build_task]
这个task有优化空间吗,或需要额外配置么。
每次运行freeline.py,这个task要花去3min左右的时间。
调试构建debug版本通过,但是在使用gradle构建release版本失败,LOG如下:
Using Shell executor...
Running on haohang-desktop...
Fetching changes...
正删除 .gradle/
正删除 app/build/
正删除 build/
HEAD 现在位于 e2580f4 去掉butterknife的混淆规则
e2580f4..13bba3a develop -> origin/develop
Checking out 13bba3a0 as develop...
之前的 HEAD 位置是 e2580f4... 去掉butterknife的混淆规则
HEAD 目前位于 13bba3a... Use freeline to build project at development time
$ chmod +x ./gradlew
$ ./gradlew --profile clean tDR
Starting a new Gradle Daemon for this build (subsequent builds will be faster).
Parallel execution is an incubating feature.
Incremental java compilation is an incubating feature.
find variant DevelopDebug start hack process...
coupon-manager merge resources task not found.
variant DevelopRelease is not debug, skip hack process.
find variant OfficialDebug start hack process...
coupon-manager merge resources task not found.
variant OfficialRelease is not debug, skip hack process.
:app:clean
:app:preBuild UP-TO-DATE
:app:extractProguardFiles
:app:preDevelopReleaseBuild
:app:checkDevelopReleaseManifest
:app:preDevelopDebugBuild UP-TO-DATE
:app:preOfficialDebugBuild UP-TO-DATE
:app:preOfficialReleaseBuild
:app:prepareComAndroidSupportAppcompatV72220Library
:app:prepareComAndroidSupportCardviewV72211Library
:app:prepareComAndroidSupportDesign2220Library
:app:prepareComAndroidSupportRecyclerviewV72211Library
:app:prepareComAndroidSupportSupportV42311Library
:app:prepareComAntfortuneFreelineRuntime054Library
:app:prepareComGithangAndroidsnippet062Library
:app:prepareComGithangDrawableWidget03Library
:app:prepareComGithangUmengUpdate2601Library
:app:prepareComGithubDmytrodanylykShadowLayoutLibrary103Library
:app:prepareComGithubXiangtailiangTablayoutLibrary100Library
:app:prepareComGithubYoojiaFast125Library
:app:prepareComGithubYoojiaKeyboard16Library
:app:prepareComGithubYoojiaNextAndroid019Library
:app:prepareComGithubYoojiaNextAndroidSupports010Library
:app:prepareComGithubYoojiaNextInputsAndroid122Library
:app:preDevelopDebugUnitTestBuild UP-TO-DATE
:app:preDevelopReleaseUnitTestBuild
:app:preOfficialDebugUnitTestBuild UP-TO-DATE
:app:preOfficialReleaseUnitTestBuild
:app:prepareComSquareupLeakcanaryLeakcanaryAndroidNoOp14Beta2Library
:app:prepareComTencentBuglyCrashreport220Library
:app:prepareComWdullaerMaterialdatetimepicker240Library
:app:prepareComZcwTogglebuttonLibrary100Library
:app:prepareIoReactivexRxandroid110Library
:app:prepareJpWasabeefRecyclerviewAnimators130Library
:app:prepareDevelopReleaseDependencies
:app:compileDevelopReleaseAidl
:app:compileDevelopReleaseRenderscript
:app:generateDevelopReleaseBuildConfig
:app:generateDevelopReleaseResValues
:app:generateDevelopReleaseResources
:app:mergeDevelopReleaseResources
:app:processDevelopReleaseManifest
:app:processDevelopReleaseResources FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:processDevelopReleaseResources'.
> com.android.ide.common.process.ProcessException: Failed to execute aapt
* 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: 20.619 secs
ERROR: Build failed with: exit status 1
错误: 无法访问HttpRequestBase
httpUtils.send(HttpRequest.HttpMethod.POST, BaseConstants.CollectCount_URL, params, new RequestCallBack<String>() {
找不到org.apache.http.client.methods.HttpRequestBase的类文件
/home/zhiweijin/AndroidStudioProjects/BusinessListing/app/src/main/java/com/clds/businesslisting/MainActivity.java:220: 错误: 无法访问HttpEntityEnclosingRequest
httpUtils.send(HttpRequest.HttpMethod.POST, BaseConstants.Advertisement_URL, params, new RequestCallBack<String>() {
^
找不到org.apache.http.HttpEntityEnclosingRequest的类文件
[WARNING] NoInstallationException occurs, a clean build will be automatically executed.
[-][read_project_info_task] finished. in 22.1s
[-][generate_file_stat_task] finished. in 0.2s
[-][gradle_clean_build_task] finished. in 164.6s
[-][clean_all_cache_task] finished. in 0.0s
[-][install_apk_task] finished. in 27.5s
[-][build_base_resource_task] finished. in 10.2s
[-][generate_project_info_task] finished. in 0.0s
[DEBUG] --------------------------------------------------------
[DEBUG] Prepare tasks time: 15.1s
[DEBUG] Task engine running time: 214.3s
[DEBUG] Total time: 229.4s
[DEBUG] --------------------------------------------------------
是不是上面的Warning造成的?
ERROR] --------------------------------------------------------
[ERROR] Freeline ERROR
[ERROR] --------------------------------------------------------
Please make sure your application is properly running in your device.
Check follow steps:
1. If freeline is not added to your app's denpendencies, modifiy your dependency and run python freeline.py -f
.
[ERROR] --------------------------------------------------------
[ERROR] Package com.XXX is not found.
[ERROR] ---------------------------------------
Execution failed for task ':app:mergeApk_DEBUGDebugAssets'.
/Users/wey/work/android/stock-android/app/build/intermediates/assets/debug/apktime (No such file or directory)
取消 productFlavors 就没问题了
修改布局文件中的控件,从父类改为其某个子类,并在代码中做了相应修改。增量编译正常,运行时在findViewById的过程中出现了 ClassCastException,即父类无法 cast 为子类的错误。
操作步骤:
309 E/Freeline.ResPatcher: Failed to update existing theme for activity com.jm.android.jumei.home.activity.HomeActivity@86885df
java.lang.NoSuchFieldException: No field mTheme in class Landroid/content/res/Resources$Theme; (declaration of 'android.content.res.Resources$Theme' appears in /system/framework/framework.jar)
at java.lang.Class.getDeclaredField(Native Method)
at com.android.tools.fd.runtime.MonkeyPatcher.monkeyPatchExistingResources(MonkeyPatcher.java:330)
at com.antfortune.freeline.gradle.GradleDynamic.applyDynamicRes(GradleDynamic.java:32)
elineCore.applyDynamicRes(FreelineCore.java:297)
at com.antfortune.freeline.FreelineCore.injectResources(FreelineCore.java:240)
at com.antfortune.freeline.FreelineCore.saveDynamicResInfo(FreelineCore.java:322)
at com.antfortune.freeline.FreelineReceiver.saveDynamicResInfo(FreelineReceiver.java:52)
at com.antfortune.freeline.FreelineReceiver.onReceive(FreelineReceiver.java:39)
at android.app.ActivityThread.handleReceiver(ActivityThread.java:3011)
at android.app.ActivityThread.-wrap18(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1544)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6077)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
当使用as直接run的时候 freeline 不会对我的生成物有影响, 只有使用python 命令的时候才会对我的生成物有影响,因为有时候用户的环境是比较复杂的,当出现一个bug 的时候, 他可以直接用run编译项目, 排除所有freeline 可能对项目的影响。而不需要编辑 build.gradle里面的内容。
Hello:
Is it must rebuild the whole project after delete some public static final String
fields?
Because after I deleted a filed my app crashed by:
`java.lang.IncompatibleClassChangeError: com.xxx.rc.example.view.ExampleActivity
at dalvik.system.DexFile.defineClassNative(Native Method)
at dalvik.system.DexFile.defineClass(DexFile.java:226)
at dalvik.system.DexFile.loadClassBinaryName(DexFile.java:219)
at dalvik.system.DexPathList.findClass(DexPathList.java:322)
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:54)
at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
at android.app.Instrumentation.newActivity(Instrumentation.java:1078)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2515)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2697)
at android.app.ActivityThread.access$800(ActivityThread.java:179)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1540)
at android.os.Handler.dispatchMessage(Handler.java:111)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5796)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1010)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)`
当xml布局文件存在变更时,比如修改一个TextView的text属性,运行python freeline.py将直接导致程序崩溃,是目前的版本还不支持对xml布局文件的修改么?
Intent intent = new Intent(sApplication, FreelineService.class);
sApplication.startService(intent);
断点到这就完了,FreelineService并没有成功启动
日志也没有打出来
Traceback (most recent call last):
File "freeline.py", line 5, in
from freeline_core.dispatcher import Dispatcher
File "xxx/freeline/freeline_core/init.py", line 1, in
import build_commands
ImportError: No module named 'build_commands'
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 1: ordinal not in range(128)
报这个错是什么原因
As title, i got this result:
app/src/main/res/layout/venue_detail_activity.xml:156: error: Error: No resource type specified (at 'text' with value '@{data.cnName}').
[ERROR] --------------------------------------------------------
[ERROR] build base resources failed with: freeline/release-tools/FreelineAapt package
经过简单测试,freeline 不支持 gradle-retrolambda
、kotlin
并且,在每次执行python freeline.py
后,撤回代码修改会有警告:
Undo Reload from Disk?
执行python freeline.py 报错了
/Users/test/AndroidGit/testGitProject/app/build/freeline/app/backup/res/values/freeline_id_keeper_public.xml:11612: error: Public symbol string/yotest_free_info declared here is not defined.
/Users/test/AndroidGit/testGitProject/app/build/freeline/app/backup/res/values/freeline_id_keeper_public.xml:11614: error: Public symbol string/yotest_free_time declared here is not defined.
/Users/test/AndroidGit/testGitProject/app/build/freeline/app/backup/res/values/freeline_id_keeper_public.xml:11616: error: Public symbol string/yotest_name declared here is not defined.
/Users/test/AndroidGit/testGitProject/app/build/freeline/app/backup/res/values/freeline_id_keeper_public.xml:11618: error: Public symbol string/yotest_rate declared here is not defined.
/Users/test/AndroidGit/testGitProject/app/build/freeline/app/backup/res/values/freeline_id_keeper_public.xml:11620: error: Public symbol string/yx_alter declared here is not defined.
/Users/test/AndroidGit/testGitProject/app/build/freeline/app/backup/res/values/freeline_id_keeper_public.xml:11622: error: Public symbol string/yx_friend_apply_hint_message declared here is not defined.
/Users/test/AndroidGit/testGitProject/app/build/freeline/app/backup/res/values/freeline_id_keeper_public.xml:11624: error: Public symbol string/zhifubao_start_failed declared here is not defined.
ERROR] --------------------------------------------------------
[ERROR] build base resources failed with: freeline/release-tools/FreelineAapt package -f -I /Users/test/Library/Android/sdk/platforms/android-21/android.jar -M /Users/test/AndroidGit//test//app/build/intermediates/manifests/full/debug/AndroidManifest.xml -S /Users/test/AndroidGit//test//app/src/main/res -S /Users/test/AndroidGit//test//libYxKnife/src/main/res -S /Users/test/AndroidGit//test//libwatchdog/src/main/res -S /Users/test/AndroidGit//test//app/build/intermediates/exploded-aar/com.android.support/support-v4/23.1.1/res -S /Users/test/AndroidGit//test//app/build/intermediates/exploded-aar/com.bugtags.library/bugtags-lib/1.3.3/res -S /Users/test/AndroidGit//test//app/build/intermediates/exploded-aar/com.antfortune.freeline/runtime/0.5.4/res -S /Users/test/AndroidGit//test//app/build/intermediates/exploded-aar//test//fanxingsdk/unspecified/res -S /Users/test/AndroidGit//test//app/build/intermediates/exploded-aar/com.android.support/gridlayout-v7/21.0.3/res -S /Users/test/AndroidGit//test//app/build/intermediates/exploded-aar/com.android.support/multidex/1.0.1/res -S /Users/test/AndroidGit//test//app/build/intermediates/exploded-aar/com.android.support/recyclerview-v7/23.1.1/res -S /Users/test/AndroidGit//test//app/build/generated/res/rs/debug -S /Users/test/AndroidGit//test//app/build/freeline/app/backup/res -A /Users/test/AndroidGit//test//app/build/freeline/freeline-assets -A /Users/test/AndroidGit//test//app/src/main/assets -m -J /Users/test/AndroidGit//test//app/build/freeline/app/backup --auto-add-overlay -F /Users/test/AndroidGit//test//app/build/freeline/base-res.so --debug-mode --resoucres-md5-cache-path /Users/test/AndroidGit//test//app/build/freeline/arsc_cache.dat --ignore-assets public_id.xml:public.xml:*.bak:.*
[ERROR] --------------------------------------------------------
[DEBUG] Prepare tasks time: 0.3s
[DEBUG] Task engine running time: 159.4s
[DEBUG] Total time: 159.7s
[DEBUG] --------------------------------------------------------
请问怎么解决这个问题?
在库项目中修改java文件,运行 'python freeline.py' 会编译不通过
修改资源文件,运行 'python freeline.py' 编译能够通过,但是运行会因为找不到某些资源而崩溃
用gradle构建能够正常运行,用 python freeline.py
报错
[ERROR] build base resources failed with: freeline\release-tools\FreelineAapt.exe package -f -I
D:\android_tool\sdk\platforms\android-23\android.jar -M
D:\workspace\mogoo\app\build\intermediates\manifests\full\dev\debug\AndroidManifest.xml -S
D:\workspace\mogoo\app\src\main\res -S
D:\workspace\mogoo\material_dialog_core\src\main\res -S D:\workspace\mogoo\periscopelibrary\src\main\res -S
D:\workspace\mogoo\textswitch\src\main\res -S
D:\workspace\mogoo\umeng_share01\src\main\res -S
D:\workspace\mogoo\umeng_push_sdk\res -S
D:\workspace\mogoo\http\src\main\res -S
D:\workspace\mogoo\app\build\intermediates\exploded-aar\com.bartoszlipinski.recyclerviewheader\library\1.2.1\res -S
D:\workspace\mogoo\app\build\intermediates\exploded-aar\com.github.ctiao\dfm\0.4.1\res -S
D:\workspace\mogoo\app\build\intermediates\exploded-aar\com.github.championswimmer\SimpleFingerGestures_Android_Library\1.2\res -S
D:\workspace\mogoo\app\build\intermediates\exploded-aar\io.reactivex\rxandroid\1.1.0\res -S
D:\workspace\mogoo\app\build\intermediates\exploded-aar\com.android.support\support-v4\23.2.1\res -S
D:\workspace\mogoo\app\build\intermediates\exploded-aar\com.wdullaer\materialdatetimepicker\2.2.0\res -S
D:\workspace\mogoo\app\build\intermediates\exploded-aar\in.srain.cube\ultra-ptr\1.0.11\res -S
D:\workspace\mogoo\app\build\intermediates\exploded-aar\de.hdodenhof\circleimageview\2.0.0\res -S
D:\workspace\mogoo\app\build\intermediates\exploded-aar\com.android.support\support-vector-drawable\23.2.1\res -S
D:\workspace\mogoo\app\build\intermediates\exploded-aar\com.android.support\animated-vector-drawable\23.2.1\res -S
D:\workspace\mogoo\app\build\intermediates\exploded-aar\com.android.support\appcompat-v7\23.2.1\res -S
D:\workspace\mogoo\app\build\intermediates\exploded-aar\com.bigkoo\convenientbanner\2.0.4\res -S
D:\workspace\mogoo\app\build\intermediates\exploded-aar\com.antfortune.freeline\runtime\0.5.0\res -S
D:\workspace\mogoo\app\build\intermediates\exploded-aar\com.android.support\cardview-v7\23.2.1\res -S
D:\workspace\mogoo\app\build\intermediates\exploded-aar\com.android.support\recyclerview-v7\23.2.1\res -S
D:\workspace\mogoo\app\build\intermediates\exploded-aar\com.android.support\design\23.2.1\res -S
D:\workspace\mogoo\app\build\intermediates\exploded-aar\com.soundcloud.android\android-crop\1.0.1\res -S
D:\workspace\mogoo\app\build\intermediates\exploded-aar\me.zhanghai.android.materialprogressbar\library\1.1.5\res -S
D:\workspace\mogoo\app\build\intermediates\exploded-aar\com.android.support\multidex\1.0.1\res -S D:\workspace\mogoo\app\build\freeline\app\backup\res -A
D:\workspace\mogoo\app\build\freeline\freeline-assets -A
D:\workspace\mogoo\app\src\main\assets -m -J
D:\workspace\mogoo\app\build\freeline\app\backup --auto-add-overlay -F
D:\workspace\mogoo\app\build\freeline\base-res.so --debug-mode --resoucres-md5-cache-path
D:\workspace\mogoo\app\build\freeline\arsc_cache.dat --ignore-assets public_id.xml:public.xml:*.bak:.*
[ERROR] --------------------------------------------------------
怀疑是不是因为 MultiDex
的问题
AndoidManifest里引用gradle里的变量会报错
这个可能不属于freeline。
运行 python freeline.py 还是sudo python freeline.py
都会出现如下错误
File "/home/xx/AndroidStudioProjects/DownLoadManager/freeline/freeline_core/task.py", line 123, in execute
self.task.execute()
File "/home/xx/AndroidStudioProjects/DownLoadManager/freeline/freeline_core/gradle_clean_build.py", line 69, in execute
output, err, code = cexec(command.split(' '), callback=None)
File "/home/xx/AndroidStudioProjects/DownLoadManager/freeline/freeline_core/utils.py", line 28, in cexec
p = Popen(args, stdin=PIPE, stdout=PIPE, stderr=PIPE, env=env, cwd=cwd)
File "/usr/lib/python2.7/subprocess.py", line 710, in init
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1327, in _execute_child
raise child_exception
OSError: [Errno 13] Permission denied
Error:Execution failed for task ':app:mergeAndroidmarketDebugAssets'.
/Users/eric/Project/lifon/app/build/intermediates/assets/debug/apktime (No such file or directory)
实际上文件存在于> /Users/eric/Project/lifon/app/build/intermediates/assets/androidmarket/debug/apktime
PS D:\Github\freeline\sample> ./gradlew initFreeline --stacktrace
Incremental java compilation is an incubating feature.
find variant normalDebug start hack process...
sample merge resources task not found.
ThirdParty merge resources task not found.
variant normalMonkey is not debug, skip hack process.
variant normalRelease is not debug, skip hack process.
find variant developDebug start hack process...
sample merge resources task not found.
ThirdParty merge resources task not found.
variant developMonkey is not debug, skip hack process.
variant developRelease is not debug, skip hack process.
:initFreeline
Freeline init process start...
Downloading lastest release from https://github.com/alibaba/freeline/releases/download/v0.5.3/freeline-v0.5.3-1608251800.zip
Please wait a minute...
[get] Getting: https://github.com/alibaba/freeline/releases/download/v0.5.3/freeline-v0.5.3-1608251800.zip
[get] To: D:\Github\freeline\sample\freeline.zip.tmp
[get] https://github.com/alibaba/freeline/releases/download/v0.5.3/freeline-v0.5.3-1608251800.zip moved to https://github-cloud.s3.amazonaws.com/releases/64864962/00b3e48a-6aee-11e6-9f70-d7212f834403.zip?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAISTNZFOVBIJMK3TQ%2F20160825%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20160825T103733Z&X-Amz-Expires=300&X-Amz-Signature=8c770a5628c0bd22399e7f404ea4ef30e986f2a27545b41c87b265291e361baf&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3Dfreeline-v0.5.3-1608251800.zip&response-content-type=application%2Foctet-stream
[get] Error getting https://github.com/alibaba/freeline/releases/download/v0.5.3/freeline-v0.5.3-1608251800.zip to D:\Github\freeline\sample\freeline.zip.tmp
:initFreeline FAILED
FAILURE: Build failed with an exception.
What went wrong:
Execution failed for task ':initFreeline'.
java.net.ConnectException: Connection timed out: connect
Try:
Run with --info or --debug option to get more log output.
Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':initFreeline'.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)
at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:203)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:185)
at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:66)
at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:50)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:25)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:110)
at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
at org.gradle.execution.DefaultBuildExecuter.access$000(DefaultBuildExecuter.java:23)
at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:43)
at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30)
at org.gradle.initialization.DefaultGradleLauncher$4.run(DefaultGradleLauncher.java:154)
at org.gradle.internal.Factories$1.create(Factories.java:22)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:52)
at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:151)
at org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:32)
at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:99)
at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:93)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:62)
at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:93)
at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:82)
at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:94)
at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)
at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:43)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:28)
at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:75)
at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:45)
at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:51)
at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:28)
at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:43)
at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:170)
at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:237)
at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:210)
at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:35)
at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24)
at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:206)
at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:169)
at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
at org.gradle.launcher.Main.doAction(Main.java:33)
at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:54)
at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:35)
at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
at org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:30)
at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:129)
at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)
Caused by: : java.net.ConnectException: Connection timed out: connect
at org.apache.tools.ant.taskdefs.Get.execute(Get.java:146)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at com.antfortune.freeline.FreelineInitializer.initFreeline(FreelineInitializer.groovy:40)
at com.antfortune.freeline.FreelineInitializer$initFreeline.call(Unknown Source)
at com.antfortune.freeline.FreelinePlugin$_apply_closure1.doCall(FreelinePlugin.groovy:19)
at org.gradle.api.internal.AbstractTask$ClosureTaskAction.execute(AbstractTask.java:554)
at org.gradle.api.internal.AbstractTask$ClosureTaskAction.execute(AbstractTask.java:535)
at org.gradle.api.internal.tasks.TaskMutator$1.execute(TaskMutator.java:77)
at org.gradle.api.internal.tasks.TaskMutator$1.execute(TaskMutator.java:73)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
... 60 more
Caused by: java.net.ConnectException: Connection timed out: connect
at org.apache.tools.ant.taskdefs.Get$GetThread.openConnection(Get.java:690)
at org.apache.tools.ant.taskdefs.Get$GetThread.openConnection(Get.java:715)
at org.apache.tools.ant.taskdefs.Get$GetThread.get(Get.java:606)
at org.apache.tools.ant.taskdefs.Get$GetThread.run(Get.java:596)
BUILD FAILED
全量编译python freeline.py -f 可以正常运行
直接运行python freeline.py 总是报error: cannot find symbol 很多类找不到
不知道什么原因 求助
Windows平台上 执行cmd命令行命令 gradlew initFreeline进行安装,出现错误 如下:
C:\Users\zhangtao-iri\Desktop\freeline-master\sample>gradlew initFreeline
Exception in thread "main" java.lang.RuntimeException: Timeout of 120000 reached
waiting for exclusive access to file: C:\Users\zhangtao-iri\.gradle\wrapper\dis
ts\gradle-2.10-all\dsjfzfdv0b7g6tl0p5fhv6wr3\gradle-2.10-all.zip
at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAcc
essManager.java:61)
at org.gradle.wrapper.Install.createDist(Install.java:48)
at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:128)
at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)
warning: [options] bootstrap class path not set in conjunction with -source 1.7
使用全量编译没问题,但是在5.0.1的手机上增量编译一直报错
修改Java文件和资源文件增量编译均会出现同个错误
[ERROR] --------------------------------------------------------
[ERROR] Freeline ERROR
[ERROR] --------------------------------------------------------
Traceback (most recent call last):
File "D:\workspace\TestLibrary_open\freeline_core\android_tools.py", line 298, in e
xecute
self._command.execute()
File "D:\workspace\TestLibrary_open\freeline_core\gradle_inc_build.py", line 159, i
n execute
map(lambda command: command.execute(), self.command_list)
File "D:\workspace\TestLibrary_open\freeline_core\gradle_inc_build.py", line 159, i
n <lambda>
map(lambda command: command.execute(), self.command_list)
File "D:\workspace\TestLibrary_open\freeline_core\gradle_inc_build.py", line 210, i
n execute
self._invoker.run_dex_task()
File "D:\workspace\TestLibrary_open\freeline_core\android_tools.py", line 561, in r
un_dex_task
output, err, code = cexec(dex_args, add_path=add_path)
File "D:\workspace\TestLibrary_open\freeline_core\utils.py", line 28, in cexec
p = Popen(args, stdin=PIPE, stdout=PIPE, stderr=PIPE, env=env, cwd=cwd)
File "C:\tools\python2\lib\subprocess.py", line 710, in __init__
errread, errwrite)
File "C:\tools\python2\lib\subprocess.py", line 958, in _execute_child
startupinfo)
TypeError: environment can only contain strings
[ERROR] --------------------------------------------------------
[ERROR] incremental build task failed.
[ERROR] --------------------------------------------------------
gradle
配置是
compileSdkVersion 23
buildToolsVersion "23.0.3"
defaultConfig {
applicationId "io.pcyan.testapplication"
minSdkVersion 16
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
That'd be wonderful if Freeline can support change BuildType
由于特殊原因,机子不能设置JAVA_HOME这个环境变量,有办法不设置此变量运行吗?
FAILURE: Build failed with an exception.
What went wrong:
Execution failed for task ':app:mergeFirDebugAssets'.
../Gank/app/build/intermediates/assets/debug/apktime (No such file or directory)
Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
init 和 python freeline.py -f 都是 ok 的
但是修改代码后 python freeline.py 就会报错
Traceback (most recent call last):
File "D:\as\new\im_android\freeline_core\android_tools.py", line 304, in execute
self._command.execute()
File "D:\as\new\im_android\freeline_core\gradle_inc_build.py", line 159, in execute
map(lambda command: command.execute(), self.command_list)
File "D:\as\new\im_android\freeline_core\gradle_inc_build.py", line 159, in
map(lambda command: command.execute(), self.command_list)
File "D:\as\new\im_android\freeline_core\gradle_inc_build.py", line 193, in execute
self._invoker.append_r_file()
File "D:\as\new\im_android\freeline_core\gradle_inc_build.py", line 378, in append_r_file
write_file_content(main_r_path, content)
File "D:\as\new\im_android\freeline_core\utils.py", line 118, in write_file_content
with open(target_path, 'w') as fp:
IOError: [Errno 2] No such file or directory: u'D:\as\new\im_android\app\build\freeline\app\backup\com\kanjian\radio\R.java'
[ERROR] --------------------------------------------------------
[ERROR] incremental build task failed.
[ERROR] --------------------------------------------------------
[DEBUG] Prepare tasks time: 0.2s
[DEBUG] Task engine running time: 0.2s
[DEBUG] Total time: 0.4s
[DEBUG] --------------------------------------------------------
Exception in thread "main" java.io.FileNotFoundException: https://downloads.gradle.org/distributions/gradle-2.13.0-all.zip
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1836)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1441)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254)
at org.gradle.wrapper.Download.downloadInternal(Download.java:58)
at org.gradle.wrapper.Download.download(Download.java:44)
at org.gradle.wrapper.Install$1.call(Install.java:61)
at org.gradle.wrapper.Install$1.call(Install.java:48)
at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:65)
at org.gradle.wrapper.Install.createDist(Install.java:48)
at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:128)
at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)
[ERROR] --------------------------------------------------------
[ERROR] freeline failed when read project info with script: ./gradlew -q checkBeforeCleanBuild
[ERROR] --------------------------------------------------------
我不知道是不是个强需求,我们项目中打包时会输出armeabi
和x86
、universal
三个包,最终的.apk
文件名是$projectName-$productFlavor-$abi-debug.apk
的形式,现在是通过配置apkPath
来解决的
我们项目中对setting.gradle
进行了定制,因此里面并非是一系列的module
名,而是groovy
代码,通过groovy
代码加载出需要引入项目的module。因此在使用freeline编译项目的时候出现了错误。
错误日志:
16-08-12 13:42:16.log.zip
P.S: 希望能够有一个解决方案,或者是有接口或命令参数能够给freeline指定提供直接包含module的文件也行。
不使用freeline时正常,由于使用freeline加了compile 'com.antfortune.freeline:runtime:0.5.0'
时编译失败,信息如下:
/workspace/project/coupon-manager/app/build/intermediates/res/merged/Develop/debug/values-v23/values-v23.xml:3: AAPT: Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Inverse'.
/workspace/project/coupon-manager/app/build/intermediates/res/merged/Develop/debug/values-v23/values-v23.xml:18: AAPT: Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.Button.Colored'.
下面是使用freeline所作的修改:
diff --git a/app/build.gradle b/app/build.gradle
index bc1fff5..db1d354 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -1,4 +1,5 @@
apply plugin: 'com.android.application'
+apply plugin: 'com.antfortune.freeline'
android {
compileSdkVersion 22
@@ -64,6 +65,9 @@ android {
abortOnError false
}
+ freeline {
+ hack true
+ }
}
apply plugin: 'bugly'
@@ -120,6 +124,8 @@ dependencies {
// Material Date Time Picker
compile 'com.wdullaer:materialdatetimepicker:2.4.0'
+ //freeline
+ compile 'com.antfortune.freeline:runtime:0.5.0'
}
apply plugin: 'fir'
diff --git a/app/src/main/java/com/parkingwang/business/WangApplication.java b/app/src/main/java/com/parkingwang/business/WangApplication.java
index f115449..3aaea98 100644
--- a/app/src/main/java/com/parkingwang/business/WangApplication.java
+++ b/app/src/main/java/com/parkingwang/business/WangApplication.java
@@ -3,6 +3,7 @@ package com.parkingwang.business;
import android.app.Application;
import android.content.Intent;
+import com.antfortune.freeline.FreelineCore;
import com.github.yoojia.fast.AppSessionManager;
import com.github.yoojia.fast.utils.Configurator;
import com.github.yoojia.next.lang.QuantumObject;
@@ -31,6 +32,7 @@ public class WangApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
+ FreelineCore.init(this);
LeakCanary.install(this);
diff --git a/build.gradle b/build.gradle
index 80e4381..97a96cd 100644
--- a/build.gradle
+++ b/build.gradle
@@ -15,6 +15,7 @@ buildscript {
classpath 'com.android.tools.build:gradle:2.2.0-beta1'
classpath 'com.tencent.bugly:symtabfileuploader:1.3.9'
classpath 'com.githang:fir:0.1.1'
+ classpath 'com.antfortune.freeline:gradle:0.5.2'
}
}
what version of python is the best for the freeline script?
如果可以提供一个releaseCompile的地址 然后里面啥实现都没有 这样打包的时候就不用担心打包进去了
PS D:\Github\freeline\sample> ./gradlew initFreeline --stacktrace
Incremental java compilation is an incubating feature.
find variant normalDebug start hack process...
sample merge resources task not found.
ThirdParty merge resources task not found.
variant normalMonkey is not debug, skip hack process.
variant normalRelease is not debug, skip hack process.
find variant developDebug start hack process...
sample merge resources task not found.
ThirdParty merge resources task not found.
variant developMonkey is not debug, skip hack process.
variant developRelease is not debug, skip hack process.
:initFreeline
Freeline init process start...
Downloading lastest release from https://github.com/alibaba/freeline/releases/download/v0.5.3/freeline-v0.5.3-1608251800.zip
Please wait a minute...
[get] Getting: https://github.com/alibaba/freeline/releases/download/v0.5.3/freeline-v0.5.3-1608251800.zip
[get] To: D:\Github\freeline\sample\freeline.zip.tmp
[get] https://github.com/alibaba/freeline/releases/download/v0.5.3/freeline-v0.5.3-1608251800.zip moved to https://github-cloud.s3.amazonaws.com/releases/64864962/00b3e48a-6aee-11e6-9f70-d7212f834403.zip?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAISTNZFOVBIJMK3TQ%2F20160825%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20160825T103733Z&X-Amz-Expires=300&X-Amz-Signature=8c770a5628c0bd22399e7f404ea4ef30e986f2a27545b41c87b265291e361baf&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3Dfreeline-v0.5.3-1608251800.zip&response-content-type=application%2Foctet-stream
[get] Error getting https://github.com/alibaba/freeline/releases/download/v0.5.3/freeline-v0.5.3-1608251800.zip to D:\Github\freeline\sample\freeline.zip.tmp
:initFreeline FAILED
FAILURE: Build failed with an exception.
What went wrong:
Execution failed for task ':initFreeline'.
java.net.ConnectException: Connection timed out: connect
Try:
Run with --info or --debug option to get more log output.
Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':initFreeline'.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)
at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:203)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:185)
at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:66)
at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:50)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:25)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:110)
at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
at org.gradle.execution.DefaultBuildExecuter.access$000(DefaultBuildExecuter.java:23)
at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:43)
at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30)
at org.gradle.initialization.DefaultGradleLauncher$4.run(DefaultGradleLauncher.java:154)
at org.gradle.internal.Factories$1.create(Factories.java:22)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:52)
at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:151)
at org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:32)
at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:99)
at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:93)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:62)
at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:93)
at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:82)
at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:94)
at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)
at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:43)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:28)
at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:75)
at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:45)
at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:51)
at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:28)
at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:43)
at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:170)
at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:237)
at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:210)
at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:35)
at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24)
at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:206)
at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:169)
at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
at org.gradle.launcher.Main.doAction(Main.java:33)
at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:54)
at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:35)
at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
at org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:30)
at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:129)
at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)
Caused by: : java.net.ConnectException: Connection timed out: connect
at org.apache.tools.ant.taskdefs.Get.execute(Get.java:146)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at com.antfortune.freeline.FreelineInitializer.initFreeline(FreelineInitializer.groovy:40)
at com.antfortune.freeline.FreelineInitializer$initFreeline.call(Unknown Source)
at com.antfortune.freeline.FreelinePlugin$_apply_closure1.doCall(FreelinePlugin.groovy:19)
at org.gradle.api.internal.AbstractTask$ClosureTaskAction.execute(AbstractTask.java:554)
at org.gradle.api.internal.AbstractTask$ClosureTaskAction.execute(AbstractTask.java:535)
at org.gradle.api.internal.tasks.TaskMutator$1.execute(TaskMutator.java:77)
at org.gradle.api.internal.tasks.TaskMutator$1.execute(TaskMutator.java:73)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
... 60 more
Caused by: java.net.ConnectException: Connection timed out: connect
at org.apache.tools.ant.taskdefs.Get$GetThread.openConnection(Get.java:690)
at org.apache.tools.ant.taskdefs.Get$GetThread.openConnection(Get.java:715)
at org.apache.tools.ant.taskdefs.Get$GetThread.get(Get.java:606)
at org.apache.tools.ant.taskdefs.Get$GetThread.run(Get.java:596)
BUILD FAILED
因为我们的项目修改了project.buildDir,导致freeline读取module下的build文件夹发生找不到的异常
我自己创建了一个AS的项目,进行相关配置以后,运行gradlew initFreeline -Pmirror 出现错误, 错误如下:
E:\mywork\MyApplication>gradlew initFreeline -Pmirror
Incremental java compilation is an incubating feature.
FAILURE: Build failed with an exception.
BUILD FAILED
已和 freeline 开发人员联系,确定问题为 新增资源后生成的 R.java 没有被 javac 处理,从而出现问题。
P.S: 除去这个问题,目前我们引入我们的项目速度非常的快!业界良心!
这个问题的原因是, 之前参考官方multidex文档 ,在开发时进行编译加速的配置,因此我们的配置类似与官方的情况:
android {
productFlavors {
// Define separate dev and prod product flavors.
dev {
// dev utilizes minSDKVersion = 21 to allow the Android gradle plugin
// to pre-dex each module and produce an APK that can be tested on
// Android Lollipop without time consuming dex merging processes.
minSdkVersion 21
}
prod {
// The actual minSdkVersion for the application.
minSdkVersion 14
}
}
...
buildTypes {
release {
runProguard true
proguardFiles getDefaultProguardFile('proguard-android.txt'),
'proguard-rules.pro'
}
}
}
dependencies {
compile 'com.android.support:multidex:1.0.0'
}
而freeline在上面 flavor-dev的情况下增量编译会出现问题。
类似的插件有gcm、crashlytics等
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.