我得到的信息是
Error:Execution Failed for task ':app:compileDeBUGJavaWithJack'.> java.io.IOException: com.androID.jack.API.v01.ConfigurationException: Error while parsing 'C:\Users\Jonathan\AppData\Local\AndroID\sdk\tools\proguard\proguard-androID.txt':43
Gradle控制台输出
:app:compileDeBUGJavaWithJackJack APIs v01 configuration Failedcom.androID.jack.API.v01.ConfigurationException: Error while parsing 'C:\Users\Jonathan\AppData\Local\AndroID\sdk\tools\proguard\proguard-androID.txt':43 at com.androID.jack.API.v01.impl.API01ConfigImpl.getTask(API01ConfigImpl.java:77) at com.androID.builder.core.AndroIDBuilder.convertByteCodeUsingJackAPIs(AndroIDBuilder.java:1914) at com.androID.build.gradle.tasks.JackTask.doMinification(JackTask.java:148) at com.androID.build.gradle.tasks.JackTask.access# Keep setters in VIEws so that animations can still work.# Setters for Listeners can still be removed.# see http://proguard.sourceforge.net/manual/examples.HTML#beans-keepclassmembers public class * extends androID.vIEw.VIEw { voID set*(%); voID set*(%,%); voID set*(%,%,%); voID set*(%[]); //liNE 43,THROWS ERROR voID set*(**[]); voID set*(!**Listener); % get*(); %[] get*(); **[] get*(); !**Listener get*();}0(JackTask.java:73) at com.androID.build.gradle.tasks.JackTask.run(JackTask.java:112) at com.androID.builder.tasks.Job.runTask(Job.java:51) at com.androID.build.gradle.tasks.SimpleWorkQueue$Emptythreadcontext.runTask(SimpleWorkQueue.java:41) at com.androID.builder.tasks.WorkQueue.run(WorkQueue.java:223) at java.lang.Thread.run(Thread.java:745)Caused by: com.androID.jack.IllegalOptionsException: Error while parsing 'C:\Users\Jonathan\AppData\Local\AndroID\sdk\tools\proguard\proguard-androID.txt':43 at com.androID.jack.Jack.check(Jack.java:426) at com.androID.jack.API.v01.impl.API01ConfigImpl.getTask(API01ConfigImpl.java:71) ... 8 moreCaused by: com.androID.jack.antlr.runtime.RecognitionException at com.androID.jack.shrob.proguard.ProguardParser.recoverFromMismatchedToken(ProguardParser.java:138) at com.androID.jack.antlr.runtime.BaseRecognizer.match(BaseRecognizer.java:115) at com.androID.jack.shrob.proguard.ProguardParser.arguments(ProguardParser.java:2967) at com.androID.jack.shrob.proguard.ProguardParser.member(ProguardParser.java:2349) at com.androID.jack.shrob.proguard.ProguardParser.members(ProguardParser.java:2174) at com.androID.jack.shrob.proguard.ProguardParser.classspecification(ProguardParser.java:1863) at com.androID.jack.shrob.proguard.ProguardParser.prog(ProguardParser.java:388) at com.androID.jack.shrob.proguard.Grammaractions.parse(Grammaractions.java:341) at com.androID.jack.Jack.check(Jack.java:423) ... 9 more
ProGuard的-androID.txt
这是一个标准的androID SDK文件.我没有修改它.它不喜欢的行在下面的摘录中.
apply plugin: 'com.androID.application'androID { compileSdkVersion 23 buildToolsversion '24rc2' defaultConfig { applicationID "com.company.myapplication" minSdkVersion 15 targetSdkVersion 23 versionCode 1 versionname "1.0" jackOptions { enabled true } } testBuildType "no_proguard" buildTypes { deBUG { MinifyEnabled true proguardfiles getDefaultProguardfile('proguard-androID.txt'),'proguard-rules.pro' deBUGgable true } release { MinifyEnabled true proguardfiles getDefaultProguardfile('proguard-androID.txt'),'proguard-rules.pro' } no_proguard { MinifyEnabled false deBUGgable true } }}dependencIEs { compile filetree(dir: 'libs',include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.androID.support:appcompat-v7:23.4.0' compile 'com.androID.support:support-v4:23.4.0' compile 'com.androID.support:design:23.4.0'}
Gradle.config
apply plugin: 'com.androID.application'androID { compileSdkVersion 25 buildToolsversion "25.0.2" defaultConfig { applicationID "com.test.myapplication" minSdkVersion 9 targetSdkVersion 25 versionCode 1 versionname "1.0" testInstrumentationRunner "androID.support.test.runner.AndroIDJUnitRunner" vectorDrawables.useSupportlibrary = true jackOptions { enabled true } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } testBuildType "no_proguard" buildTypes { release { MinifyEnabled false proguardfiles getDefaultProguardfile('proguard-androID.txt'),'proguard-rules.pro' } deBUG { MinifyEnabled true proguardfiles getDefaultProguardfile('proguard-androID.txt'),'proguard-rules.pro' } no_proguard { MinifyEnabled false } }}dependencIEs { compile filetree(dir: 'libs',include: ['*.jar']) androIDTestCompile('com.androID.support.test.espresso:espresso-core:2.2.2',{ exclude group: 'com.androID.support',module: 'support-annotations' }) compile 'com.androID.support:appcompat-v7:25.2.0' compile 'com.androID.support:design:25.2.0' compile 'com.androID.support:support-vector-drawable:25.2.0' testCompile 'junit:junit:4.12'}
什么有效
如果我只是从proguardfiles列表中排除proguard-androID.txt,那么当然构建当然会有效,但我不知道是否应该这样做;这会遗漏一些可能会破坏我的应用程序的重要内容吗?或者所有这些设置都是内置于杰克的新缩放器中的?
编辑
我尝试排除proguard-androID.txt并进行测试.我的应用程序崩溃了,因为番石榴的某些部分被缩小/混淆了.
解决方法 它现在有效,我已经更新了几个库和编译工具Gradle.config
总结以上是内存溢出为你收集整理的使用Jack API v01进行编译失败 – ConfigurationException:解析proguard-android.txt时出错全部内容,希望文章能够帮你解决使用Jack API v01进行编译失败 – ConfigurationException:解析proguard-android.txt时出错所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)