alibaba / freeline

A super fast build tool for Android, an alternative to Instant Run
https://www.freelinebuild.com/
BSD 3-Clause "New" or "Revised" License
5.48k stars 623 forks source link

咨询:0.8.1,每次全量提示无法inflater到edittext,修改资源文件需重新全量 #291

Closed asdf3309 closed 7 years ago

asdf3309 commented 7 years ago

1#修改资源文件需重新全量生成,这个是正常的吗?否则就是爆edittext无法找到,奇怪。就是一个edittext,没什么其他东西呀,, 2@全量后自动运行的第一次就是会失败,然后手动打开就行了,然后就可以增量了,这个情况正常吗。、。。也是报错无法inflater到edittext,,醉了。

lomanyong commented 7 years ago

@asdf3309 hi,能够提供一个可以复现这个问题的sample工程吗?我这里没办法复现这个问题...

phoenix19900219 commented 7 years ago

修改资源文件, 重新运行, 就出现这个问题. 下面是一个堆栈信息:

-15 15:17:27.099 11291 11291 E AndroidRuntime: FATAL EXCEPTION: main
        11-15 15:17:27.099 11291 11291 E AndroidRuntime: Process: a.b.c.d, PID: 11291
        11-15 15:17:27.099 11291 11291 E AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{a.b.c.d/a.b.c.d.activity.LoginActivity}: android.view.InflateException: Binary XML file line #108: Binary XML file line #108: Error inflating class EditText
11-15 15:17:27.099 11291 11291 E AndroidRuntime:    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2456)
        11-15 15:17:27.099 11291 11291 E AndroidRuntime:    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2539)
        11-15 15:17:27.099 11291 11291 E AndroidRuntime:    at android.app.ActivityThread.access$900(ActivityThread.java:159)
        11-15 15:17:27.099 11291 11291 E AndroidRuntime:    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1384)
        11-15 15:17:27.099 11291 11291 E AndroidRuntime:    at android.os.Handler.dispatchMessage(Handler.java:102)
        11-15 15:17:27.099 11291 11291 E AndroidRuntime:    at android.os.Looper.loop(Looper.java:152)
        11-15 15:17:27.099 11291 11291 E AndroidRuntime:    at android.app.ActivityThread.main(ActivityThread.java:5507)
        11-15 15:17:27.099 11291 11291 E AndroidRuntime:    at java.lang.reflect.Method.invoke(Native Method)
        11-15 15:17:27.099 11291 11291 E AndroidRuntime:    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
        11-15 15:17:27.099 11291 11291 E AndroidRuntime:    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
        11-15 15:17:27.099 11291 11291 E AndroidRuntime: Caused by: android.view.InflateException: Binary XML file line #108: Binary XML file line #108: Error inflating class EditText
11-15 15:17:27.099 11291 11291 E AndroidRuntime:    at android.view.LayoutInflater.inflate(LayoutInflater.java:539)
        11-15 15:17:27.099 11291 11291 E AndroidRuntime:    at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
        11-15 15:17:27.099 11291 11291 E AndroidRuntime:    at android.view.LayoutInflater.inflate(LayoutInflater.java:374)
        11-15 15:17:27.099 11291 11291 E AndroidRuntime:    at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:284)
        11-15 15:17:27.099 11291 11291 E AndroidRuntime:    at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:143)
        11-15 15:17:27.099 11291 11291 E AndroidRuntime:    at a.b.c.d.activity.LoginActivity.normalLoginLogic(LoginActivity.java:119)
        11-15 15:17:27.099 11291 11291 E AndroidRuntime:    at a.b.c.d.activity.LoginActivity.onCreate(LoginActivity.java:99)
        11-15 15:17:27.099 11291 11291 E AndroidRuntime:    at android.app.Activity.performCreate(Activity.java:6304)
        11-15 15:17:27.099 11291 11291 E AndroidRuntime:    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
        11-15 15:17:27.099 11291 11291 E AndroidRuntime:    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2409)
        11-15 15:17:27.099 11291 11291 E AndroidRuntime:    ... 9 more
        11-15 15:17:27.099 11291 11291 E AndroidRuntime: Caused by: android.view.InflateException: Binary XML file line #108: Error inflating class EditText
11-15 15:17:27.099 11291 11291 E AndroidRuntime:    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:782)
        11-15 15:17:27.099 11291 11291 E AndroidRuntime:    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
        11-15 15:17:27.099 11291 11291 E AndroidRuntime:    at android.view.LayoutInflater.rInflate(LayoutInflater.java:835)
        11-15 15:17:27.099 11291 11291 E AndroidRuntime:    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)
        11-15 15:17:27.099 11291 11291 E AndroidRuntime:    at android.view.LayoutInflater.rInflate(LayoutInflater.java:838)
        11-15 15:17:27.099 11291 11291 E AndroidRuntime:    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)
        11-15 15:17:27.099 11291 11291 E AndroidRuntime:    at android.view.LayoutInflater.rInflate(LayoutInflater.java:838)
        11-15 15:17:27.099 11291 11291 E AndroidRuntime:    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)
        11-15 15:17:27.099 11291 11291 E AndroidRuntime:    at android.view.LayoutInflater.rInflate(LayoutInflater.java:838)
        11-15 15:17:27.099 11291 11291 E AndroidRuntime:    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)
        11-15 15:17:27.099 11291 11291 E AndroidRuntime:    at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
        11-15 15:17:27.099 11291 11291 E AndroidRuntime:    ... 18 more
        11-15 15:17:27.099 11291 11291 E AndroidRuntime: Caused by: java.lang.StringIndexOutOfBoundsException: length=0; index=0
        11-15 15:17:27.099 11291 11291 E AndroidRuntime:    at java.lang.String.charAt(Native Method)
        11-15 15:17:27.099 11291 11291 E AndroidRuntime:    at com.android.internal.util.XmlUtils.convertValueToInt(XmlUtils.java:107)
        11-15 15:17:27.099 11291 11291 E AndroidRuntime:    at android.content.res.TypedArray.getInt(TypedArray.java:355)
        11-15 15:17:27.099 11291 11291 E AndroidRuntime:    at android.widget.TextView.<init>(TextView.java:1111)
        11-15 15:17:27.099 11291 11291 E AndroidRuntime:    at android.widget.EditText.<init>(EditText.java:64)
        11-15 15:17:27.099 11291 11291 E AndroidRuntime:    at android.widget.EditText.<init>(EditText.java:60)
        11-15 15:17:27.099 11291 11291 E AndroidRuntime:    at android.support.v7.widget.AppCompatEditText.<init>(AppCompatEditText.java:62)
        11-15 15:17:27.099 11291 11291 E AndroidRuntime:    at android.support.v7.widget.AppCompatEditText.<init>(AppCompatEditText.java:58)
        11-15 15:17:27.099 11291 11291 E AndroidRuntime:    at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:112)
        11-15 15:17:27.099 11291 11291 E AndroidRuntime:    at android.support.v7.app.AppCompatDelegateImplV9.createView(AppCompatDelegateImplV9.java:1017)
        11-15 15:17:27.099 11291 11291 E AndroidRuntime:    at android.support.v7.app.AppCompatDelegateImplV9.onCreateView(AppCompatDelegateImplV9.java:1076)
        11-15 15:17:27.099 11291 11291 E AndroidRuntime:    at android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(LayoutInflaterCompatHC.java:44)
        11-15 15:17:27.099 11291 11291 E AndroidRuntime:    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:746)
        11-15 15:17:27.099 11291 11291 E AndroidRuntime:    ... 28 more
phoenix19900219 commented 7 years ago

@lomanyong , 这个问题能尽快修一下么?

lomanyong commented 7 years ago

@phoenix19900219 有可以复现这个问题的 sample 工程吗?单纯看这个log的话没办法定位是哪里有问题...

phoenix19900219 commented 7 years ago

@lomanyong, https://github.com/phoenix19900219/Freeline-creash-demo.

  1. 先用freeline编译运行项目
  2. 把activity_main.xml中的ImageView注释放开, 再用freeline编译运行
  3. 启动app -> 点击 "去登录" 按钮 -> crash !!
lomanyong commented 7 years ago

@phoenix19900219 收到,我看下...

lomanyong commented 7 years ago

@phoenix19900219 这个demo在我这里运行正常...增量资源编译没有crash发生。同样的demo你那里如果发生了crash的话,可以给我一下你的crash的堆栈吗?

以及,你的设备是?系统版本是?

phoenix19900219 commented 7 years ago

@lomanyong crash堆栈:

11-15 17:55:09.996 22819 22819 E AndroidRuntime: FATAL EXCEPTION: main
11-15 17:55:09.996 22819 22819 E AndroidRuntime: Process: com.stone.freeline_creash_demo, PID: 22819
11-15 17:55:09.996 22819 22819 E AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.stone.freeline_creash_demo/com.stone.freeline_creash_demo.LoginActivity}: android.view.InflateException: Binary XML file line #106: Binary XML file line #106: Error inflating class EditText
11-15 17:55:09.996 22819 22819 E AndroidRuntime:    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2456)
11-15 17:55:09.996 22819 22819 E AndroidRuntime:    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2539)
11-15 17:55:09.996 22819 22819 E AndroidRuntime:    at android.app.ActivityThread.access$900(ActivityThread.java:159)
11-15 17:55:09.996 22819 22819 E AndroidRuntime:    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1384)
11-15 17:55:09.996 22819 22819 E AndroidRuntime:    at android.os.Handler.dispatchMessage(Handler.java:102)
11-15 17:55:09.996 22819 22819 E AndroidRuntime:    at android.os.Looper.loop(Looper.java:152)
11-15 17:55:09.996 22819 22819 E AndroidRuntime:    at android.app.ActivityThread.main(ActivityThread.java:5507)
11-15 17:55:09.996 22819 22819 E AndroidRuntime:    at java.lang.reflect.Method.invoke(Native Method)
11-15 17:55:09.996 22819 22819 E AndroidRuntime:    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
11-15 17:55:09.996 22819 22819 E AndroidRuntime:    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
11-15 17:55:09.996 22819 22819 E AndroidRuntime: Caused by: android.view.InflateException: Binary XML file line #106: Binary XML file line #106: Error inflating class EditText
11-15 17:55:09.996 22819 22819 E AndroidRuntime:    at android.view.LayoutInflater.inflate(LayoutInflater.java:539)
11-15 17:55:09.996 22819 22819 E AndroidRuntime:    at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
11-15 17:55:09.996 22819 22819 E AndroidRuntime:    at android.view.LayoutInflater.inflate(LayoutInflater.java:374)
11-15 17:55:09.996 22819 22819 E AndroidRuntime:    at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:284)
11-15 17:55:09.996 22819 22819 E AndroidRuntime:    at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:143)
11-15 17:55:09.996 22819 22819 E AndroidRuntime:    at com.stone.freeline_creash_demo.LoginActivity.onCreate(LoginActivity.java:16)
11-15 17:55:09.996 22819 22819 E AndroidRuntime:    at android.app.Activity.performCreate(Activity.java:6304)
11-15 17:55:09.996 22819 22819 E AndroidRuntime:    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
11-15 17:55:09.996 22819 22819 E AndroidRuntime:    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2409)
11-15 17:55:09.996 22819 22819 E AndroidRuntime:    ... 9 more
11-15 17:55:09.996 22819 22819 E AndroidRuntime: Caused by: android.view.InflateException: Binary XML file line #106: Error inflating class EditText
11-15 17:55:09.996 22819 22819 E AndroidRuntime:    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:782)
11-15 17:55:09.996 22819 22819 E AndroidRuntime:    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
11-15 17:55:09.996 22819 22819 E AndroidRuntime:    at android.view.LayoutInflater.rInflate(LayoutInflater.java:835)
11-15 17:55:09.996 22819 22819 E AndroidRuntime:    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)
11-15 17:55:09.996 22819 22819 E AndroidRuntime:    at android.view.LayoutInflater.rInflate(LayoutInflater.java:838)
11-15 17:55:09.996 22819 22819 E AndroidRuntime:    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)
11-15 17:55:09.996 22819 22819 E AndroidRuntime:    at android.view.LayoutInflater.rInflate(LayoutInflater.java:838)
11-15 17:55:09.996 22819 22819 E AndroidRuntime:    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)
11-15 17:55:09.996 22819 22819 E AndroidRuntime:    at android.view.LayoutInflater.rInflate(LayoutInflater.java:838)
11-15 17:55:09.996 22819 22819 E AndroidRuntime:    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)
11-15 17:55:09.996 22819 22819 E AndroidRuntime:    at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
11-15 17:55:09.996 22819 22819 E AndroidRuntime:    ... 17 more
11-15 17:55:09.996 22819 22819 E AndroidRuntime: Caused by: java.lang.NumberFormatException: Invalid int: "res/drawable-xxxhdpi-v4/abc_ic_star_black_16dp.png"
11-15 17:55:09.996 22819 22819 E AndroidRuntime:    at java.lang.Integer.invalidInt(Integer.java:138)
11-15 17:55:09.996 22819 22819 E AndroidRuntime:    at java.lang.Integer.parse(Integer.java:410)
11-15 17:55:09.996 22819 22819 E AndroidRuntime:    at java.lang.Integer.parseInt(Integer.java:367)
11-15 17:55:09.996 22819 22819 E AndroidRuntime:    at com.android.internal.util.XmlUtils.convertValueToInt(XmlUtils.java:133)
11-15 17:55:09.996 22819 22819 E AndroidRuntime:    at android.content.res.TypedArray.getInt(TypedArray.java:355)
11-15 17:55:09.996 22819 22819 E AndroidRuntime:    at android.widget.TextView.<init>(TextView.java:1111)
11-15 17:55:09.996 22819 22819 E AndroidRuntime:    at android.widget.EditText.<init>(EditText.java:64)
11-15 17:55:09.996 22819 22819 E AndroidRuntime:    at android.widget.EditText.<init>(EditText.java:60)
11-15 17:55:09.996 22819 22819 E AndroidRuntime:    at android.support.v7.widget.AppCompatEditText.<init>(AppCompatEditText.java:62)
11-15 17:55:09.996 22819 22819 E AndroidRuntime:    at android.support.v7.widget.AppCompatEditText.<init>(AppCompatEditText.java:58)
11-15 17:55:09.996 22819 22819 E AndroidRuntime:    at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:112)
11-15 17:55:09.996 22819 22819 E AndroidRuntime:    at android.support.v7.app.AppCompatDelegateImplV9.createView(AppCompatDelegateImplV9.java:1017)
11-15 17:55:09.996 22819 22819 E AndroidRuntime:    at android.support.v7.app.AppCompatDelegateImplV9.onCreateView(AppCompatDelegateImplV9.java:1076)
11-15 17:55:09.996 22819 22819 E AndroidRuntime:    at android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(LayoutInflaterCompatHC.java:44)
11-15 17:55:09.996 22819 22819 E AndroidRuntime:    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:746)
11-15 17:55:09.996 22819 22819 E AndroidRuntime:    ... 27 more
lomanyong commented 7 years ago

@phoenix19900219 使用的设备和系统版本是?

phoenix19900219 commented 7 years ago

@lomanyong 机型是: 一加3, 系统6.0.1; Lenovo Z90-7, 系统6.0.1

phoenix19900219 commented 7 years ago

@lomanyong 下面这个是是在 "华为 Hol-T00" (系统4.2.2)上报的crash, 增量资源编译后一启动就crash了:

E/AndroidRuntime( 3251): FATAL EXCEPTION: main
E/AndroidRuntime( 3251): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.stone.freeline_creash_demo/com.stone.freeline_creash_demo.MainActivity}: android.view.InflateException: Binary XML file line #5: Error inflating class android.widget.FrameLayout
E/AndroidRuntime( 3251):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2372)
E/AndroidRuntime( 3251):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2424)
E/AndroidRuntime( 3251):    at android.app.ActivityThread.access$600(ActivityThread.java:169)
E/AndroidRuntime( 3251):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1388)
E/AndroidRuntime( 3251):    at android.os.Handler.dispatchMessage(Handler.java:107)
E/AndroidRuntime( 3251):    at android.os.Looper.loop(Looper.java:194)
E/AndroidRuntime( 3251):    at android.app.ActivityThread.main(ActivityThread.java:5433)
E/AndroidRuntime( 3251):    at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 3251):    at java.lang.reflect.Method.invoke(Method.java:525)
E/AndroidRuntime( 3251):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:922)
E/AndroidRuntime( 3251):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:689)
E/AndroidRuntime( 3251):    at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime( 3251): Caused by: android.view.InflateException: Binary XML file line #5: Error inflating class android.widget.FrameLayout
E/AndroidRuntime( 3251):    at android.view.LayoutInflater.createView(LayoutInflater.java:613)
E/AndroidRuntime( 3251):    at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
E/AndroidRuntime( 3251):    at android.view.LayoutInflater.onCreateView(LayoutInflater.java:660)
E/AndroidRuntime( 3251):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:685)
E/AndroidRuntime( 3251):    at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
E/AndroidRuntime( 3251):    at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
E/AndroidRuntime( 3251):    at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
E/AndroidRuntime( 3251):    at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
E/AndroidRuntime( 3251):    at com.android.internal.policy.impl.PhoneWindow.generateLayout(PhoneWindow.java:2827)
E/AndroidRuntime( 3251):    at com.android.internal.policy.impl.PhoneWindow.installDecor(PhoneWindow.java:2890)
E/AndroidRuntime( 3251):    at com.android.internal.policy.impl.PhoneWindow.getDecorView(PhoneWindow.java:1583)
E/AndroidRuntime( 3251):    at android.support.v7.app.AppCompatDelegateImplV9.createSubDecor(AppCompatDelegateImplV9.java:371)
E/AndroidRuntime( 3251):    at android.support.v7.app.AppCompatDelegateImplV9.ensureSubDecor(AppCompatDelegateImplV9.java:320)
E/AndroidRuntime( 3251):    at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:281)
E/AndroidRuntime( 3251):    at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:143)
E/AndroidRuntime( 3251):    at com.stone.freeline_creash_demo.MainActivity.onCreate(MainActivity.java:13)
E/AndroidRuntime( 3251):    at android.app.Activity.performCreate(Activity.java:5211)
E/AndroidRuntime( 3251):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1146)
E/AndroidRuntime( 3251):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2336)
E/AndroidRuntime( 3251):    ... 11 more
E/AndroidRuntime( 3251): Caused by: java.lang.reflect.InvocationTargetException
E/AndroidRuntime( 3251):    at java.lang.reflect.Constructor.constructNative(Native Method)
E/AndroidRuntime( 3251):    at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
E/AndroidRuntime( 3251):    at android.view.LayoutInflater.createView(LayoutInflater.java:587)
E/AndroidRuntime( 3251):    ... 29 more
E/AndroidRuntime( 3251): Caused by: android.content.res.Resources$NotFoundException: File res/drawable-xhdpi/ab_solid_shadow_holo.9.png from drawable resource ID #0x10800b9
E/AndroidRuntime( 3251):    at android.content.res.BaiduResources.loadDrawableBaidu(BaiduResources.java:180)
E/AndroidRuntime( 3251):    at android.content.res.BaiduResources.loadDrawable(BaiduResources.java:103)
E/AndroidRuntime( 3251):    at android.content.res.TypedArray.getDrawable(TypedArray.java:606)
E/AndroidRuntime( 3251):    at android.widget.FrameLayout.<init>(FrameLayout.java:109)
E/AndroidRuntime( 3251):    at android.widget.FrameLayout.<init>(FrameLayout.java:97)
E/AndroidRuntime( 3251):    ... 32 more
E/AndroidRuntime( 3251): Caused by: java.lang.ClassCastException: android.content.res.AssetManager cannot be cast to android.content.res.BaiduAssetManager
E/AndroidRuntime( 3251):    at android.content.res.BaiduResources.loadDrawableBaidu(BaiduResources.java:168)
E/AndroidRuntime( 3251):    ... 36 more
lomanyong commented 7 years ago

@phoenix19900219 有在模拟器上测试过吗?

phoenix19900219 commented 7 years ago

@lomanyong 都是真机

lomanyong commented 7 years ago

@phoenix19900219 crash之后,再点开app都可以正常使用吗?

lomanyong commented 7 years ago

@phoenix19900219 华为的crash看着是百度系统的问题...有个BaiduAssets

phoenix19900219 commented 7 years ago

@lomanyong 嗯, 这个是百度云OS, 这个每次启动都crash; 前面那两个启动不crash, 点击"去登录"按钮的时候crash

phoenix19900219 commented 7 years ago

@lomanyong 前面那个应该和系统没关系, 我这边的手机都crash了

phoenix19900219 commented 7 years ago

@lomanyong 你按我说的操作去做, 应该是可以重新的

  1. 先用freeline编译运行项目
  2. 把activity_main.xml中的ImageView注释放开, 再用freeline编译运行
  3. 启动app -> 点击 "去登录" 按钮 -> crash !!
lomanyong commented 7 years ago

@phoenix19900219 恩,刚刚复现了,需要进入那个 LoginActivity 才会 crash,我晚上找下原因。

phoenix19900219 commented 7 years ago

@lomanyong 好的, 加油!

lomanyong commented 7 years ago

@phoenix19900219 问题找出来了,出现crash的原因应该是你们使用imeActionId这个属性的时候直接引用了viewId,但是实际上引用viewId的时候,在 App 中处理回调函数时,回调的 id 会不正确,正确的处理方式应该是单独在资源文件中定义一个integer属性,如:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <integer name="ime_action_id">100</integer>
</resources>

然后在EditText中的imeActionId中引用这个值,如:

<EditText
    android:id="@id/password"
    android:layout_width="match_parent"
    android:layout_height="56dp"
    android:imeActionLabel="@string/action_settings"
    android:imeOptions="actionUnspecified"
    android:imeActionId="@integer/ime_action_id"
    android:hint="请输入密码"
    android:inputType="textPassword" />

imeActionId的引用实际viewId的地方修改后即可正常增量资源编译。

可以参考如下链接:

phoenix19900219 commented 7 years ago

@lomanyong , 的确是这个问题, 非常感谢 !!

Tobi1025 commented 6 years ago

执行python freeline.py -h命令时,报错 Traceback (most recent call last): File "freeline.py", line 7, in from freeline_core.dispatcher import Dispatcher File "/Users/qiaojingfei/Desktop/\u5bb6\u653fapp/jz_app_android/freeline/freeline_core/init.py", line 1, in import build_commands ModuleNotFoundError: No module named 'build_commands'