GithubHelp home page GithubHelp logo

Comments (35)

lomanyong avatar lomanyong commented on April 28, 2024

@viplwj 想问下是项目中使用了lambda之类的高版本api吗?freeline暂时不支持lambda的..

from freeline.

merlinJie avatar merlinJie commented on April 28, 2024

应该是没有用的,使用Python freeline -f全量编译后,全量编译时ok的,修改文件无论修改哪个都是报 error: cannot find symbol,我是不是需要用低版本的jdk进行编译

from freeline.

lomanyong avatar lomanyong commented on April 28, 2024

@viplwj 可以看一下${main_module}/build/freeline/jar_dependencies.json这个文件是否存在,然后里面的内容是否是空的?

from freeline.

merlinJie avatar merlinJie commented on April 28, 2024

image
那个文件好像还真不存在
image

from freeline.

lomanyong avatar lomanyong commented on April 28, 2024

@viplwj 缺少了jar_dependencies.json这个文件,编译流程出了点状况...麻烦在命令行单独执行一下./gradlew assembleDebug,然后发下日志ok吗?需要看下task栈中哪里出了问题..

from freeline.

merlinJie avatar merlinJie commented on April 28, 2024

用 ./gradlew assembleDebug 跑了一遍是ok的 可以正常编译过去,是要把所有的log都贴出来?

from freeline.

lomanyong avatar lomanyong commented on April 28, 2024

@viplwj 嗯,是的,需要所有的log

from freeline.

charvenhe avatar charvenhe commented on April 28, 2024

@viplwj 有配置Freeline的 DSL吗?比如说把hack true加上

from freeline.

 avatar commented on April 28, 2024

同样有这个问题,dsl中配了hack和productFlavor

from freeline.

lomanyong avatar lomanyong commented on April 28, 2024

@gaoxuxu 有相关的日志提供吗?

from freeline.

 avatar commented on April 28, 2024

@lomanyong 我执行了一下./gradlew assembleDebug --stacktrace,异常栈如下

Caused by: java.lang.NullPointerException
        at org.gradle.api.internal.tasks.compile.incremental.jar.JarSnapshot.getHashes(JarSnapshot.java:82)
        at org.gradle.api.internal.tasks.compile.incremental.jar.JarSnapshot.affectedSince(JarSnapshot.java:54)
        at org.gradle.api.internal.tasks.compile.incremental.jar.JarSnapshot.getAffectedClassesSince(JarSnapshot.java:47)
        at org.gradle.api.internal.tasks.compile.incremental.jar.JarChangeDependentsFinder.getActualDependents(JarChangeDependentsFinder.java:65)
        at org.gradle.api.internal.tasks.compile.incremental.jar.JarChangeProcessor.processChange(JarChangeProcessor.java:39)
        at org.gradle.api.internal.tasks.compile.incremental.RecompilationSpecProvider$InputChangeAction.execute(RecompilationSpecProvider.java:81)
        at org.gradle.api.internal.tasks.compile.incremental.RecompilationSpecProvider$InputChangeAction.execute(RecompilationSpecProvider.java:58)
        at org.gradle.api.internal.changedetection.changes.ChangesOnlyIncrementalTaskInputs.doOutOfDate(ChangesOnlyIncrementalTaskInputs.java:48)
        at org.gradle.api.internal.changedetection.changes.StatefulIncrementalTaskInputs.outOfDate(StatefulIncrementalTaskInputs.java:46)
        at org.gradle.api.internal.changedetection.changes.ChangesOnlyIncrementalTaskInputs.outOfDate(ChangesOnlyIncrementalTaskInputs.java:28)
        at org.gradle.api.internal.tasks.compile.incremental.RecompilationSpecProvider.provideRecompilationSpec(RecompilationSpecProvider.java:49)
        at org.gradle.api.internal.tasks.compile.incremental.SelectiveCompiler.execute(SelectiveCompiler.java:54)
        at org.gradle.api.internal.tasks.compile.incremental.SelectiveCompiler.execute(SelectiveCompiler.java:31)
        at org.gradle.api.internal.tasks.compile.incremental.IncrementalCompilationFinalizer.execute(IncrementalCompilationFinalizer.java:39)
        at org.gradle.api.internal.tasks.compile.incremental.IncrementalCompilationFinalizer.execute(IncrementalCompilationFinalizer.java:24)
        at org.gradle.api.tasks.compile.JavaCompile.performCompilation(JavaCompile.java:163)
        at org.gradle.api.tasks.compile.JavaCompile.compile(JavaCompile.java:127)
        at com.android.build.gradle.tasks.factory.AndroidJavaCompile.compile(AndroidJavaCompile.java:49)
        at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.doExecute(AnnotationProcessingTaskFactory.java:245)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:221)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$IncrementalTaskAction.execute(AnnotationProcessingTaskFactory.java:232)
        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:210)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
        ... 68 more

from freeline.

lomanyong avatar lomanyong commented on April 28, 2024

@gaoxuxu 有完整地执行./gradlew assembleDebug的日志呢?

from freeline.

 avatar commented on April 28, 2024

@lomanyong 我的Gradle插件版本使用的是2.1.3,改成2.0.0后assembleDebug执行成功了

from freeline.

lomanyong avatar lomanyong commented on April 28, 2024

@gaoxuxu style/ActivityPushAnimation这个资源定义在哪个module的哪个文件夹里的呢?然后这个文件夹是否包含在~/.freeline/cache/xxxxx/project_description.jsonproject_source_sets下的module的path中?

这里可以检查一下

from freeline.

merlinJie avatar merlinJie commented on April 28, 2024

@charvenhe dsl加了

from freeline.

lomanyong avatar lomanyong commented on April 28, 2024

@viplwj 可以贴下./gradlew assembleDebug的相关日志吗?

from freeline.

merlinJie avatar merlinJie commented on April 28, 2024

@lomanyong 我把gradle的版本换了换倒是可以生成那个jar_dependencies.json,但是刚才又测试了一下出现了下面的问题

UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dx.cf.iface.ParseException: bad class file magic (cafebabe) or version (0034.0000)
        at com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:472)
        at com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:406)
        at com.android.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary(DirectClassFile.java:388)
        at com.android.dx.cf.direct.DirectClassFile.getMagic(DirectClassFile.java:251)
        at com.android.dx.command.dexer.Main.processClass(Main.java:730)
        at com.android.dx.command.dexer.Main.processFileBytes(Main.java:699)
        at com.android.dx.command.dexer.Main.access$300(Main.java:86)
        at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:628)
        at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:170)
        at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
        at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
        at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
        at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
        at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
        at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
        at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
        at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
        at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
        at com.android.dx.command.dexer.Main.processOne(Main.java:658)
        at com.android.dx.command.dexer.Main.processAllFiles(Main.java:536)
        at com.android.dx.command.dexer.Main.runMonoDex(Main.java:307)
        at com.android.dx.command.dexer.Main.run(Main.java:266)
        at com.android.dx.command.dexer.Main.run(Main.java:236)
        at com.android.dx.command.dexer.Main.main(Main.java:218)
        at com.android.dx.command.Main.main(Main.java:106)
...while parsing com/test/R$anim.class

from freeline.

lomanyong avatar lomanyong commented on April 28, 2024

@viplwj 你们有制定的productFlavor吧?如果有的话,应该要执行./gradlew assemble${your-Flavor}Debug,同时,freeline DSL里也要配置productFlavor..

from freeline.

lomanyong avatar lomanyong commented on April 28, 2024

@viplwj 如果可以生成jar_dependencies.json的话,里面有内容吗?以及是否可以正常使用了呢?

from freeline.

merlinJie avatar merlinJie commented on April 28, 2024

ok,谢谢你这么及时的回复,待会儿再试试,现在比较忙,生成的jar_dependencies.json这个文件是有内容的,里面的引用都是正确的,

from freeline.

 avatar commented on April 28, 2024

@lomanyong 我那个问题是由于xml文件中,在标签外部有一些字符,freeline在解析时不兼容导致,删了就好了

from freeline.

merlinJie avatar merlinJie commented on April 28, 2024

还是报UNEXPECTED TOP-LEVEL EXCEPTION:

com.android.dx.cf.iface.ParseException: bad class file magic (cafebabe) or version (0034.0000)
at com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:472)
at com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:406)
at com.android.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary(DirectClassFile.java:388)
at com.android.dx.cf.direct.DirectClassFile.getMagic(DirectClassFile.java:251)
at com.android.dx.command.dexer.Main.processClass(Main.java:730)
at com.android.dx.command.dexer.Main.processFileBytes(Main.java:699)
at com.android.dx.command.dexer.Main.access$300(Main.java:86)
at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:628)
at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:170)
at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
at com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)
at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:158)
at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
at com.android.dx.command.dexer.Main.processOne(Main.java:658)
at com.android.dx.command.dexer.Main.processAllFiles(Main.java:536)
at com.android.dx.command.dexer.Main.runMonoDex(Main.java:307)
at com.android.dx.command.dexer.Main.run(Main.java:266)
at com.android.dx.command.dexer.Main.run(Main.java:236)
at com.android.dx.command.dexer.Main.main(Main.java:218)
at com.android.dx.command.Main.main(Main.java:106)
...while parsing com/test/R$anim.class

from freeline.

 avatar commented on April 28, 2024

@viplwj http://stackoverflow.com/questions/24662801/bad-class-file-magic-or-version 看看有没有什么帮助

from freeline.

lomanyong avatar lomanyong commented on April 28, 2024

@gaoxuxu 这个应该是freeline导致的哈

@viplwj 可以clean一下,然后用python freeline.py -f,看下是否还会报错吗?

from freeline.

charvenhe avatar charvenhe commented on April 28, 2024

@gaoxuxu,你那边增量编译通过了吗?代码和资源都试过吗?速度跟之前对比怎么样,能发下数据么

from freeline.

 avatar commented on April 28, 2024

@charvenhe 具体数据我还没试,我没做任何修改试了一下,全量是200s,没有修改跑一下是20s。

我的Android Studio版本是2.2,gradle插件必须用2.1.3,我还在想办法,有数据了再回你

from freeline.

charvenhe avatar charvenhe commented on April 28, 2024

@gaoxuxu,好的,增量时候建议可以在5.x的机器上试试,多试几次资源,代码,看看分别大概多久

from freeline.

merlinJie avatar merlinJie commented on April 28, 2024

开始是因为gradle版本的问题,但是后来搞定了,现在环境有点问题,我再试试,感觉应该是可以了

from freeline.

charvenhe avatar charvenhe commented on April 28, 2024

@gaoxuxu 2.1.3的问题可以加入我们的官方微信群进行细节反馈

from freeline.

merlinJie avatar merlinJie commented on April 28, 2024

搞定了,首先是gradle版本的问题,其次是因为混淆还有昨天改了.py中java版本导致最后一些奇怪的问题,谢谢大家及时反馈啊

from freeline.

lomanyong avatar lomanyong commented on April 28, 2024

@viplwj 恩,freeline不支持在debug时开启混淆的。gradle在高版本上的兼容性问题,我今天再看一下~

from freeline.

 avatar commented on April 28, 2024

@viplwj @lomanyong @charvenhe 2.1.3的问题可以用下面的方法解决,添加:

dexOptions {
        preDexLibraries true
        incremental false
}

from freeline.

lomanyong avatar lomanyong commented on April 28, 2024

@gaoxuxu 恩,记录一下 :https://code.google.com/p/android/issues/detail?id=212359

from freeline.

merlinJie avatar merlinJie commented on April 28, 2024

👍 学习了

from freeline.

charvenhe avatar charvenhe commented on April 28, 2024

@viplwj @gaoxuxu 你们是什么项目呀,增量与之前你们日常打包对比的数据方便发下我们记录下么,分别是代码和资源,多增量几次看看时间怎么样

from freeline.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.