赞
踩
原因:3.0里面批量修改APK名字的配置有变化
原因1:app的buildTypes 和依赖library中gradle的buildTypes设置的不一样,library中缺少debug
- app中:
- buildTypes {
- debug {
- ....
- }
- release {
- ....
- }
- }
- library中:
- buildTypes {
- release {
- ....
- }
- }
-
-
原因2:我遇到的是项目的build.gradle里repositories缺少google()
解决办法2:
- 项目中build.gradle有这句话么?别切google()和jcenter()都不能少
- repositories {
- google()
- jcenter()
- }
原因:gradle设置为了Offline模式
解决方法:gradle的Offline work不选中。如下图,
原因:这个方法是为了解决Android6.0以上的运行时权限问题,这个错误是因为libs下存在android-suport-v4.jar包,和build.gradle中引入的v4包冲突了,所以会产生这上面的这种错误
解决方法:可参考,友盟集成中“找不到符号”问题的解决_「已注销」的博客-CSDN博客
原因:依赖library重复导致
解决方法:可参考,Unable to merge dex,专治Android Studio各种抽风!_快乐的神经病的博客-CSDN博客
原因:代码warn 导致
解决方法:在proguard-rules.pro这个文件了加了一行
-ignorewarnings
原因:内存溢出
解决方法:在graldr中添加如下信息即可:
- android {
- dexOptions {
- incremental true
- javaMaxHeapSize "4g"
- }
原因:这是由于插件兼容问题导致的错误
解决方法:
如果有com.novoda:bintray-release
请把版本修改为0.5.0,如下图
- java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.xuetangx.mobile-2/base.apk", zip file "/data/app/
- ...
- /lib/arm64-v8a, /vendor/lib64, /system/lib64]]] couldn't find "libweibosdkcore.so"
- at java.lang.Runtime.loadLibrary(Runtime.java:367)
- at java.lang.System.loadLibrary(System.java:1076)
原因:其实有许多问题认真分析日志都可以看出来,入这个可以看到couldn't find "libweibosdkcore.so"。虽然你也有但是我们看到程序实在arm64-v8a中找的,而你的jniLib中没有,arm64-v8a是其他module有,所以不同意导致寻找不到
解决方法:统一不同module种CPU架构对应一个ABI:armeabi,armeabi-v7a,x86,mips,arm64- v8a,mips64,x86_64。如都是armeabi或armeabi-v7a
解决方法:使Entity数据不做混淆,如下图
解决方法:project的gradle中加入 maven { url "https://jitpack.io" },如下
- allprojects {
- repositories {
- ...
- maven { url "https://jitpack.io" }
- }
- }
解决方法:在项目的build.gradle文件中使google()的位置在jcenter()的前面,如下
- buildscript {
- repositories {
- maven {
- url "https://maven.google.com"
- }
- google()
- jcenter()
-
- }
- dependencies {
- classpath 'com.android.tools.build:gradle:3.0.1'
- }
- }
-
- // Allow plugins to declare Maven dependencies via build-extras.gradle.
- allprojects {
- repositories {
- google()
- jcenter()
- mavenCentral()
- }
- }
解决方式:去掉InstantRun,如下图
解决方法:新版本的NDK与3.0及以前旧版的Android Gradle plugin插件不兼容,其实解决方法很简单,就是修改build.gradle中的红字部分,改为3.1以上版本即可,如下
- dependencies {
- classpath 'com.android.tools.build:gradle:3.2.0'
-
- // NOTE: Do not place your application dependencies here; they belong
- // in the individual module build.gradle files
- }
解决方法:
步骤一:在app: build.gradle
中添加multidex配置
- android {
- defaultConfig {
- ...
- multiDexEnabled true
- }
- dexOptions {
- incremental true
- }
- }
- dependencies {
- ...
- compile 'com.android.support:multidex:1.0.3'
- }
步骤二:继承MultiDexApplication 或者在Application的attachBaseContext方法中加入
MultiDex.install(this);
解决方法:app默认的依赖不全导致,可以把运行成功的app的默认依赖拷贝过来,如下
- implementation fileTree(include: ['*.jar'], dir: 'libs')
- implementation 'com.android.support:appcompat-v7:28.0.0'
- implementation 'com.android.support:design:28.0.0'
- implementation 'com.android.support.constraint:constraint-layout:1.1.3'
- testImplementation 'junit:junit:4.12'
- androidTestImplementation 'com.android.support.test:runner:1.0.2'
- androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
解决方法:由于logcat或者build没有给出具体详细的错误信息,无法轻易找出问题。因为和resource有关可使用命令:gradlew compileDebugSources --stacktrace -info。这样就会有详细的错误信息。其它错误信息可使用
- 'compileDebugAidl',
- 'compileDebugAndroidTestAidl',
- 'compileDebugAndroidTestJavaWithJavac',
- 'compileDebugAndroidTestNdk',
- 'compileDebugAndroidTestRenderscript',
- 'compileDebugAndroidTestShaders',
- 'compileDebugAndroidTestSources',
- 'compileDebugJavaWithJavac',
- 'compileDebugNdk',
- 'compileDebugRenderscript',
- 'compileDebugShaders',
- 'compileDebugSources',
- 'compileDebugUnitTestJavaWithJavac',
- 'compileDebugUnitTestSources'.
解决方法:把library模块的依赖包implementation改为api,因为implementation依赖的包只能在本模块使用,api依赖的包可供其它模块使用
- implementation 'com.squareup.okhttp3:okhttp:3.14.2'
- 改为
- api 'com.squareup.okhttp3:okhttp:3.14.2'
解决方法:是因为项目中依赖的第三方library中由多个library有依赖android.support.v4导致重复,引起的错误。
可通过命令查看依赖:./gradlew -q sample:dependencies --configuration debugCompileClasspath
解决方法:修改gradle版本为你已经编译成功项目的版本。有两个地方需要修改
a、 build.gradle文件中的
classpath 'com.android.tools.build:gradle:3.5.0
b、gradlew/wrapper/gradle-wrapper.properties文件中的
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.1-all.zip
解决方法:1、重启AndroidStudio 2、如果重启不行就清AndroidStudio缓存,步骤File --> Invalidate Caches/Restart
解决方法:项目gradle中的 repositories 增加google()
- repositories {
- jcenter()
- google()
- }
解决方法:增加Gralde阿里云镜像
- buildscript {
- repositories {
- maven { url 'https://maven.aliyun.com/repository/jcenter' }
- maven { url 'https://maven.aliyun.com/repository/google' }
- maven { url 'https://maven.aliyun.com/repository/central' }
- maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
- google()
- jcenter()
- }
- dependencies {
- classpath "com.android.tools.build:gradle:4.1.3"
-
- // NOTE: Do not place your application dependencies here; they belong
- // in the individual module build.gradle files
- }
- }
-
- allprojects {
- repositories {
- maven { url 'https://maven.aliyun.com/repository/jcenter' }
- maven { url 'https://maven.aliyun.com/repository/google' }
- maven { url 'https://maven.aliyun.com/repository/central' }
- maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
- google()
- jcenter()
- }
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。