我正在尝试在项目的布局中使用layoutopt(来自SDK)。
每次我在某个布局上运行layoutopt时都会出现'android:layout_weight',我得到了这个例外:
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 1
at java.lang.String.substring(Unknown Source)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.getAt(DefaultGroovyMethods.java:2794)
at org.codehaus.groovy.runtime.dgm$213.doMethodInvoke(Unknown Source)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)
at org.codehaus.groovy.runtime.callsite.PojoMetaClassSite.call(PojoMetaClassSite.java:44)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
at Script5.run(Script5.groovy:15)
at com.android.layoutopt.uix.rules.GroovyRule$1.call(GroovyRule.java:50)
at org.codehaus.groovy.runtime.GroovyCategorySupport$ThreadCategoryInfo.use(GroovyCategorySupport.java:105)
at org.codehaus.groovy.runtime.GroovyCategorySupport.use(GroovyCategorySupport.java:212)
at com.android.layoutopt.uix.rules.GroovyRule.run(GroovyRule.java:65)
at com.android.layoutopt.uix.LayoutAnalyzer.applyRules(LayoutAnalyzer.java:246)
at com.android.layoutopt.uix.LayoutAnalyzer.analyze(LayoutAnalyzer.java:233)
at com.android.layoutopt.uix.LayoutAnalyzer.analyze(LayoutAnalyzer.java:238)
at com.android.layoutopt.uix.LayoutAnalyzer.analyze(LayoutAnalyzer.java:221)
at com.android.layoutopt.uix.LayoutAnalyzer.analyze(LayoutAnalyzer.java:153)
at com.android.layoutopt.uix.LayoutAnalyzer.analyze(LayoutAnalyzer.java:128)
at com.android.layoutopt.cli.Main.analyze(Main.java:61)
at com.android.layoutopt.cli.Main.analyzeFiles(Main.java:53)
at com.android.layoutopt.cli.Main.main(Main.java:46)
任何人都知道为什么会这样?
答案 0 :(得分:0)
抱歉,但我发现了我的问题。
在布局中我有2个方案指向同一个地方:
<LinearLayout android:layout_height="59dp"
android:layout_width="321dp" android:background="@android:color/transparent"
xmlns:android1="http://schemas.android.com/apk/res/android"
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal">
</LinearLayout>
我不知道它是怎么发生的,可能是bug或其他什么,我没写过。 无论如何,这导致layoutopt失败。
感谢您尝试帮助