Android Studio导入工程

本文详细介绍了Android项目的配置过程,包括如何设置build.gradle文件以指定编译工具版本、应用ID、SDK版本等,以及如何处理依赖冲突和引入特定库。同时,讲解了如何编辑app.iml文件解决方法名冲突问题。

若是记不住自己的版本,那就粘贴之前自己创建的工程的信息

  1. import project 后删除三个文件夹
    .gradle
    .idea
    build

  2. 编辑 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
  3. 编辑工程下的 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')
            }
        }
    }
  4. 编辑 local.properties
    sdk.dir=xxxxxxxxxxxx sdk安装路径

    sdk.dir=D\:\\software\\Android\\android-sdk_r24.4.1-windows\\android-sdk-windows
  5. 编辑 gradle → wrapper → gradle-wrapper.properties
    distributionUrl=https://services.gradle.org/distributions/gradle-x.x-all.zip

    distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
  6. 编辑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" />
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值