android 老工程如何转新工程

125 阅读1分钟

大家一定经常拿到别的项目,然后编译不通过的情况,我这边把这种处理经验总结一下,主要是 gradle 配置文件的修改,下面给大家看一个修改的例子,旧工程改新工程

老工程的 settings.gradle

include ':app'

新工程的 settings.gradle

pluginManagement {
    repositories {
        jcenter()
        google()
        mavenCentral()
        gradlePluginPortal()        
    }
}
dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        jcenter()
        google()
        mavenCentral()        
    }
}
rootProject.name = "Module_Android_Demo_V5.1.7"
include ':app'

老工程的 build.gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        jcenter()
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.5.2'
    }
}

allprojects {
    repositories {
        jcenter()
        google()
    }
}

新工程的 build.gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
    id 'com.android.application' version '7.4.0' apply false
    id 'com.android.library' version '7.4.0' apply false
    id 'org.jetbrains.kotlin.android' version '1.7.21' apply false
}

老工程的 module 级别 build.gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 25
    buildToolsVersion "28.0.3"

    defaultConfig {
        applicationId "com.example.module_android_demo"
        minSdkVersion 14
        targetSdkVersion 19
        compileOptions.encoding = "GBK"   //添加此行即可
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
    compile 'com.android.support:appcompat-v7:25.0.1'
    compile 'com.android.support:support-v4:25.0.1'
    compile files('libs/API_2.jar')
    compile files('libs/classes.jar')
    compile files('libs/cw-deviceapi20190214.jar')
    compile files('libs/device.jar')
    compile files('libs/hitownsdk.jar')
    compile files('libs/jxl.jar')
    compile files('libs/kaicomUHF.jar')
    compile files('libs/Module_Android_Power.jar')
    compile files('libs/ModuleAPI_J.jar')
    compile files('libs/PosApi_X5_V1.03_20190710.jar')
    compile files('libs/trinea-android-common.jar')
    compile files('libs/UHFDevice.jar')
    compile files('libs/iodev2.jar')
    compile files('libs/psampower.jar')
}

新工程的 module 级别 build.gradle

plugins {
    id 'com.android.application'
    id 'org.jetbrains.kotlin.android'
    id 'kotlin-android'
    id 'kotlin-android-extensions'
    id 'kotlin-kapt'
}


android {
    compileSdk 25

    defaultConfig {
        applicationId "com.example.module_android_demo"
        minSdk 14
        targetSdk 19
        compileOptions.encoding = "GBK"   //添加此行即可
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    kotlinOptions {
        jvmTarget = '1.8'
    }
}

dependencies {
    implementation 'com.android.support:appcompat-v7:25.0.1'
    implementation 'com.android.support:support-v4:25.0.1'
    implementation files('libs/API_2.jar')
    implementation files('libs/classes.jar')
    implementation files('libs/cw-deviceapi20190214.jar')
    implementation files('libs/device.jar')
    implementation files('libs/hitownsdk.jar')
    implementation files('libs/jxl.jar')
    implementation files('libs/kaicomUHF.jar')
    implementation files('libs/Module_Android_Power.jar')
    implementation files('libs/ModuleAPI_J.jar')
    implementation files('libs/PosApi_X5_V1.03_20190710.jar')
    implementation files('libs/trinea-android-common.jar')
    implementation files('libs/UHFDevice.jar')
    implementation files('libs/iodev2.jar')
    implementation files('libs/psampower.jar')
}

老工程的 gradle/gradle-wrapper.properties

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https://services.gradle.org/distributions/gradle-7.2-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

新工程的 gradle/gradle-wrapper.properties

#Thu Apr 27 10:42:29 CST 2023
distributionBase=GRADLE_USER_HOME
distributionUrl=https://services.gradle.org/distributions/gradle-7.5-bin.zip
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME