若是记不住自己的版本,那就粘贴之前自己创建的工程的信息
-
import project 后删除三个文件夹
.gradle
.idea
build -
编辑 app 文件夹下的 build.gradle
基本:
buildToolsVersion “xx.x.x”apply plugin: 'com.android.application' android { compileSdkVersion 28 buildToolsVersion "28.0.3" defaultConfig { applicationId "com.xxx.xxx" minSdkVersion 17//21 targetSdkVersion 28 versionCode 1 versionName "1.0" useLibrary 'org.apache.http.legacy' //用到http时添加 multiDexEnabled true //引入jar包中方法过多时添加 testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } // AndroidExtension methods are not supported at language level '7' // java8 新功能,使用静态接口时添加 android{ compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } } //使用.so文件,并编译到apk中 sourceSets{ main { jniLibs.srcDirs = ['lib'] //jni.srcDirs = [] } } } //导入framework.jar dependencies { implementation files('libs/framework.jar') //compileOnly files('libs/framework.jar') } //正常使用implementation,低版本使用compile,如下报错时使用compileOnly: // org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:transformDexArchiveWithDexMergerForDebug'. // Caused by: java.lang.RuntimeException: com.android.build.api.transform.TransformException: java.lang.ArrayIndexOutOfBoundsException // Caused by: java.lang.ArrayIndexOutOfBoundsException: 65535
-
编辑工程下的 build.gradle
基本:
google()
classpath ‘com.android.tools.build:gradle:x.x.x’
google()buildscript { repositories { google() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.2.0' } } allprojects { repositories { google() jcenter() } //导入framework.jar gradle.projectsEvaluated { tasks.withType(JavaCompile) { options.compilerArgs.add('-Xbootclasspath/p:app\\libs\\framework.jar') //options.compilerArgs.add('-Xbootclasspath/p:E:\\record\\ASProject_temp\\XXX\\app\\libs\\framework.jar') } } }
-
编辑 local.properties
sdk.dir=xxxxxxxxxxxx sdk安装路径sdk.dir=D\:\\software\\Android\\android-sdk_r24.4.1-windows\\android-sdk-windows
-
编辑 gradle → wrapper → gradle-wrapper.properties
distributionUrl=https://services.gradle.org/distributions/gradle-x.x-all.zipdistributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
-
编辑app.iml
当Android sdk与framework中方法名相同,但是想用framework中的类时,将framework移到上方编译。<orderEntry type="library" name="Gradle: __local_aars__:E.\record\ASProject_temp\XXX\app\libs\framework.jar:unspecified@jar" level="project" /> <orderEntry type="jdk" jdkName="Android API 28 Platform" jdkType="Android SDK" /> <orderEntry type="sourceFolder" forTests="false" />