Android Studio导入工程

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

  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" />
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值