Skip to content

[问题排查] Freeline "try to connect device/ connect_device_task failed."  #152

Open
@lomanyong

Description

@lomanyong

排查方法如下(建议配合使用python freeline.py -d):

  1. 确定FreelineCore.init(this);加入到Application类中,且在onCreate()下的第一行,不要根据是否在主进程做特殊处理,否则可能导致FreelineService无法正常启动;[Freeline 0.7.0+开始,默认开启了Application替换,这条可以不用检查]
  2. 确定FreelineService以及freeline相关组件是否正常merge到最终的minifest中,最终的manifest路径在${module}/build/intermediates/manifests中;
  3. 确定python freeline.py -v与定义在build.gradle中的freeline的版本是否一致;
  4. 确定是否刚刚执行了清空app数据的操作,freeline缓存数据在/data/data路径,清空app数据也会导致连接不上的问题(执行freeline命令时,通常会有句明显的日志反复出现:server result is -1);
  5. 确定是否开启了网络代理导致127.0.0.1被重定向?
  6. 一定要先使用freeline来打全量包,再来进行增量,否则也会出现这个问题。即,freeline的全量编译与android-studio自带的RUN会存在冲突。

当上述问题都无法解决时,有个终极的解决方案就是重启试试...不少人通过重启顺利解决连接不上的问题。。。

后续会通过自动化的方式,尽量避免手工排查上述问题。有遇见相关的问题可以具体描述一下,在issue中进行回复,可以帮忙排查。

Activity

changed the title [-]Freeline "try to connect device/ connect_device_task failed." 排查方法[/-] [+]问题排查方法:Freeline "try to connect device/ connect_device_task failed." [/+] on Sep 21, 2016
moonljt521

moonljt521 commented on Sep 29, 2016

@moonljt521

我的只是偶尔能运行成功,错误的时候日志:
[ERROR] --------------------------------------------------------
[ERROR] Freeline ERROR
[ERROR] --------------------------------------------------------
Please make sure your application is properly running in your device.
Check follow steps:
1. Make sure the versions python freeline.py -v, freeline-gradle and freeline-runtime are the same;
2. Make sure there is no network proxy.
3.
More about this can see: #152
[ERROR] --------------------------------------------------------
[ERROR] Freeline server in app “包名” not found. Please make sure your application is properly running in your device.
[ERROR] --------------------------------------------------------
[DEBUG] Prepare tasks time: 0.5s
[DEBUG] Task engine running time: 16.7s
[DEBUG] Total time: 17.1s
[DEBUG] --------------------------------------------------------

lomanyong

lomanyong commented on Sep 29, 2016

@lomanyong
MemberAuthor

@moonljt521 需要先执行python freeline.py -f打全量包安装到设备上,再使用python freeline.py来增量编译。而不是使用android-studio的run,不知是否是这个问题产生的?

以及,issue里提到的那几条是否检查过了呢?

moonljt521

moonljt521 commented on Sep 29, 2016

@moonljt521

@lomanyong 按您的方式全量和增量编译了, as的freeline 控制台没有报错
不过logcat 报错
java.lang.ClassCastException: com.antfortune.freeline.FreelineApplication cannot be cast to 我的app包名.CrmApp

导致app无法启动

lomanyong

lomanyong commented on Sep 29, 2016

@lomanyong
MemberAuthor

@moonljt521 参考一下#159 这个issue可以解决你的问题。

moonljt521

moonljt521 commented on Sep 29, 2016

@moonljt521

@lomanyong 谢谢回复, #159 么有解决我的问题~

lomanyong

lomanyong commented on Sep 29, 2016

@lomanyong
MemberAuthor

@moonljt521 没有解决?

moonljt521

moonljt521 commented on Sep 29, 2016

@moonljt521

@lomanyong 嗯呢 按照159那条做了配置 仍然是application 类型转换异常

lomanyong

lomanyong commented on Sep 29, 2016

@lomanyong
MemberAuthor

@moonljt521clean,然后再重新打包...manifest估计还是旧的,所以问题仍然存在。

moonljt521

moonljt521 commented on Oct 5, 2016

@moonljt521

@lomanyong 你好,我把配置流程重新做了一遍,现在成功了,除了第一次python.py 需要一分钟外,再次修改都是一两秒就编译好了,多谢

50 remaining items

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @alonelyshepherd@yahier@bjzhou@jk2K@jinsen47

        Issue actions

          [问题排查] Freeline "try to connect device/ connect_device_task failed." · Issue #152 · alibaba/freeline