今天想在android studio上使用slidingmenu,然后层层的困难就出现了,几近崩溃,还好最后是解决了。
先来说说怎么导入:
1.用import eclipse project导入library
2.File——Project Structure——选中app——Dependencies——右边的加号——选第三个(Module dependency)——将slidingmenu与app关联
3.查看 slidingmenu的build_gradle
dependencies {
classpath 'com.android.tools.build:gradle:1.5.0'}
这部分代码可能会报错,根据提示改成相应的值就行
这样就算是ok了,但是也可能坏发生和我一样的错误
Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_17\bin\java.exe'' finished with non-zero exit value 2
看到jdk的路径我以为是jdk版本的问题,还特意装了jdk1.7,发现没有用,搜索之后得到解决方法:
在app下的build.gradle中加上最后的那句
defaultConfig {
...
...
multiDexEnabledtrue}
不知道具体是为什么,但是解决了
随后又出现了这个问题:
Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'.
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: android/support/v4/app/ShareCompat$ShareCompatImplJB.class
多方搜索无果,整整困扰了大半天,几乎快崩溃了,和大家分享一下最后的解决方案
这个应该是因为slidingmenu中有support-v4这个支持库,而app本身也是有这个的,重复了。所以这样解决:
1..File——Project Structure——选中slidingmenu——Dependencies——右边的减号,这样它lib目录下的support-v4就没了,无数的红条出现,报错
2.接着要给它关联app的support-v4:
.File——Project Structure——选中app——Dependencies——右边的加号——选第一个(Library dependency),会出现support-v4,选中ok
3.同样的方法app也关联下support-v4,这样就大功告成了。
导入jar包产生的错误:
Error:(47, 31) 错误: 无法访问HttpRequestBase
找不到org.apache.http.client.methods.HttpRequestBase的类文件
解决方法:
在app的build_gradle下添加
android {
useLibrary 'org.apache.http.legacy'
}
Android Studio把一个moudle作为类库:
1.import moudle并处理好相应的错误
2.把module设置为android library,修改对应module下面的build.gradle,把apply plugin后面的值修改为:
apply plugin:'com.android.library'
3.别的moudle将其设置为依赖
4.将导入的moudle中的AndroidManifest文件中的application标签删除
出现 错误
Error:(2, 1) A problem occurred evaluating project ':library'.
> Plugin with id 'com.github.dcendents.android-maven' not found.
在Project下的build.gradle 中添加
dependencies {
.........
classpath'com.github.dcendents:android-maven-gradle-plugin:1.3'classpath'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.0'// NOTE: Do not place your application dependencies here; they belong// in the individual module build.gradle files}