AndroidStudio
Summary: Author: 张亚飞 | Read Time: 2 minute read | Published: 2016-09-22
Filed under
—
Categories:
Linux
—
Tags:
Note,
Android Studio Live Template
在Android Studio 中,我们会发现有时候我们有一些打出一些拼写就会出来一些东西.比如:psvm
Android Studio 无线调试
Android Studio 加速
Android Studio插件
Markdown
.ignore
Genymotion
Lombok
Android ButterKnife Zelezny //
ADB WIFI
Android Parcelable code generator // https://github.com/mcharmas/android-parcelable-intellij-plugin
ideavim
GsonFormat //五颗星推荐,把json数据往粘贴板一贴,自动生成Bean有没有,显著提高生成力.
Android Methods Count // http://www.methodscount.com/plugins
android-material-design-icon-generator-plugin //#Android Material Design Icon Generator # https://github.com/konifar/android-material-design-icon-generator-plugin
...
Gsonformat
Android Postfix Completion
AndroidAccessors
Lifecycle Sorter
JsonOnlineViewer
CodeGlance
findBugs-IDEA
经验总结
清除不必要的/libs/.jar包,即使没用引入 尽量不要引入本地包,使用 compile ‘io.reactivex:rxjava:1.0.14’ 的形式引入包 把不需要的jar包给删除了就可以了,亲测有效,重点排查android.support:appcompat-v7和com.android.support:support-v4包这个得用compile方法导入 //有相同包了,注意finished这句话,删除包,就可以了 compile 包引入重复的其它关联包,(版本不同也会重复引入,比如 android 注解库),使用 exclude 去掉关联引用:
compile('io.reactivex:rxandroid:1.0.1') {
exclude module: 'rxjava', group: 'io.reactivex'
}
参考 Error:Execution failed for task ‘:app:dexDebug’. > com.android.ide.common.process.ProcessException
Android API 22 以上已经弃用了 httpclient 支持,需要额外引入:
compile group: 'org.apache.httpcomponents' , name: 'httpclient-android' , version: '4.3.5.1'
使用
useLibrary 'org.apache.http.legacy'
引入旧版支持,无代码提示 但是使用手动导包到 libs下引用,像下面这样,就会提示上面的错误
compile files('libs/org.apache.http.legacy.jar')
所有还是通过下面这种方式导包
android {
...
useLibrary 'org.apache.http.legacy'
}
并且两种情况都不需要引入下面这两个依赖包
compile "org.apache.httpcomponents:httpclient:4.+"
compile "org.apache.httpcomponents:httpcore:4.+" //需要引入,否则会出现错误 Error:(250, 17) 错误: 找不到符号 符号: 类 NameValuePair
编译项目时,提示错误
Error:Execution failed for task ':assetManager:dexDebug'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'G:\Program Files\Java\jdk8\bin\java.exe'' finished with non-zero exit value 1
将 java 1.8 改成 java 1.7 即可
compileOptions {
encoding "UTF-8" //手动添加的
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
将 targetCompatibility JavaVersion.VERSION_1_7 改成 targetCompatibility JavaVersion.VERSION_1_8 后提示 lint *** 错误,后参考项目 rxjava-webservice 的配置添加 retrolambda 解决
build.gradle 引入 compile ‘com.daimajia.easing:library:1.0.0@aar’ 后,出现以下错误
:app:processDebugManifest
F:\BaiDuCloud\StudioProjects\ShangYun\app\src\debug\AndroidManifest.xml:68:9-38 Error:
Attribute application@icon value=(@drawable/logo) from AndroidManifest.xml:68:9-38
is also present at [com.daimajia.easing:library:1.0.0] AndroidManifest.xml:13:9-45 value=(@drawable/ic_launcher)
Suggestion: add 'tools:replace="android:icon"' to <application> element at AndroidManifest.xml:65:5-580:19 to override
Error:Execution failed for task ':app:processDebugManifest'.
> Manifest merger failed : Attribute application@icon value=(@drawable/logo) from AndroidManifest.xml:68:9-38
is also present at [com.daimajia.easing:library:1.0.0] AndroidManifest.xml:13:9-45 value=(@drawable/ic_launcher)
Suggestion: add 'tools:replace="android:icon"' to <application> element at AndroidManifest.xml:65:5-580:19 to override
因为引入的库与当前主项目的logo有冲突,于是按以下修改: > 在Manifest.xml的application标签下添加tools:replace=“android:icon, android:theme”(多个属性用,隔开,并且记住在manifest根标签上加入xmlns:tools=”http://schemas.android.com/tools”,否则会找不到namespace哦) 参考 http://blog.csdn.net/codezjx/article/details/38669939
软件包引入依赖过多文件之后,起用 renderscriptTargetApi 19 和 renderscriptSupportModeEnabled true 后出现以下错误:
com.android.dex.DexIndexOverflowException: Cannot merge new index 65536 into a non-jumbo instruction!
添加如下配置后解决问题
android {
...
dexOptions {
jumboMode true
}
}
但是在一些旧的Android机上可能不能安装, 还是要想办法控制包数量的大小,不用的包去掉 其中 lombok 占用 1323kb,注释掉后没有出现问题,参考: * DexIndexOverflowException: Cannot merge new index 65772 into a non-jumbo instruction!: Jumbo Mode? and/or Multi-Dex? What is behind the scene? * Android Studio ONLY! DexException: Cannot merge new index 65536 into a non-jumbo instruction * 解决”Cannot merge new index 67208 into a non-jumbo instruction”的问题
参考
Comments