小编pom*_*tee的帖子

当proguard被激活时,Gradle无法构建

我正在尝试使用Gradle发布我的Android应用程序.

一切正常,包括./gradlew clean build assembleRelease命令.

但是,只要我尝试使用proguard,Gradle就无法构建发布版本.

这是我得到的错误(堆栈跟踪激活):

...
:OSkin:validateDebugSigning
:OSkin:packageDebug
:OSkin:assembleDebug
:OSkin:prepareReleaseDependencies
:OSkin:compileReleaseAidl
:OSkin:generateReleaseBuildConfig
:OSkin:mergeReleaseAssets
:OSkin:compileReleaseRenderscript
:OSkin:mergeReleaseResources
:OSkin:processReleaseManifest
:OSkin:processReleaseResources
:OSkin:compileRelease UP-TO-DATE
:OSkin:proguardRelease
ProGuard, version 4.9
Reading input...
Reading program directory [/home/geantvert/workspace/OSkinProject/OSkin/build/classes/release]
:OSkin:proguardRelease FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':OSkin:proguardRelease'.
> Can't read [/home/geantvert/workspace/OSkinProject/OSkin/build/classes/release] (No such file or directory)

* Try:
Run with --info or --debug option to get more log output.

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task …
Run Code Online (Sandbox Code Playgroud)

android proguard gradle

50
推荐指数
1
解决办法
5万
查看次数

以类型安全的方式将Seq [String]转换为case类

我编写了一个解析器,它根据一些规则将String转换为Seq [String].这将在库中使用.

我试图将此Seq [String]转换为case类.案例类将由用户提供(因此无法猜测它将是什么).

我曾经想过无形的库,因为它似乎实现了很好的功能,看起来很成熟,但我不知道如何继续.

我发现这个问题有一个有趣的答案,但我找不到如何根据我的需要改造它.实际上,在答案中只有一种类型要解析(String),并且库在String本身内部迭代.它可能需要对事情的完成方式进行深刻的改变,我不知道如何做.

此外,如果可能的话,我想让我的图书馆用户尽可能简化这个过程.因此,如果可能,与上面链接中的答案不同,HList类型将从案例类本身猜测(但是根据我的搜索,似乎编译器需要此信息).

我对类型系统和所有这些美好的东西有点新,如果有人能给我一个如何做的建议,我会很开心!

亲切的问候

---编辑---

正如ziggystar所要求的,这里有一些可能需要的签名:

//Let's say we are just parsing a CSV.

@onUserSide
case class UserClass(i:Int, j:Int, s:String)
val list = Seq("1,2,toto", "3,4,titi")

// User transforms his case class to a function with something like:
val f = UserClass.curried

// The function created in 1/ is injected in the parser
val parser = new Parser(f)

// The Strings to convert to case classes are provided as an argument to the parse() …
Run Code Online (Sandbox Code Playgroud)

scala scalaz shapeless

6
推荐指数
1
解决办法
1320
查看次数

标签 统计

android ×1

gradle ×1

proguard ×1

scala ×1

scalaz ×1

shapeless ×1