GVKun编程网logo

Android Studio中统一管理版本号引用配置问题(android studio 版本号)

21

在本文中,我们将详细介绍AndroidStudio中统一管理版本号引用配置问题的各个方面,并为您提供关于androidstudio版本号的相关解答,同时,我们也将为您带来关于androidstudio

在本文中,我们将详细介绍Android Studio中统一管理版本号引用配置问题的各个方面,并为您提供关于android studio 版本号的相关解答,同时,我们也将为您带来关于android studio 3.0加载其他人项目时的一些配置问题、android studio gradle 统一管理版本、Android studio Gradle配置通用配置、Android studio so文件 配置问题 CPU架构不同 apk缩小的有用知识。

本文目录一览:

Android Studio中统一管理版本号引用配置问题(android studio 版本号)

Android Studio中统一管理版本号引用配置问题(android studio 版本号)

方式一:

在gradle.properties中写入:

#测试环境
ENV_TEST=test
#开发环境
ENV_DEV=dev
#生产环境
ENV_ONLINE=online
APPLICATION_ID=com.xxx.xxxx
COMPILE_SDK_VERSION=26
TARGET_SDK_VERSION=26
MIN_SDK_VERSION=15
SUPPORT_V4_SUPPORT=com.android.support:support-v4:26.1.0
SUPPORT_ANNOTATIONS=com.android.support:support-annotations:26.1.0
SUPPORT_V7_APPCOMPAT=com.android.support:appcompat-v7:26.1.0
SUPPORT_V7_RECYCLERVIEW=com.android.support:recyclerview-v7:26.1.0

使用规则,字符串直接用,整形需在后加 as int

android { compileSdkVersion COMPILE_SDK_VERSION as int defaultConfig { applicationId APPLICATION_ID minSdkVersion MIN_SDK_VERSION as int targetSdkVersion TARGET_SDK_VERSION as int versionCode 100 versionName "1.0.0" multiDexEnabled true flavorDimensions "versionCode" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" }

方式二:

在根目录下的build.gradle文件下添加 buildscript{ .... } 中的内容:

buildscript { ext.kotlin_version = '1.1.51' ext.rxandroid = '2.0.1' ext.anko_version = '0.8.2' ext.support_version = '26.1.0' ext.target_sdk_version = 26 ext.min_sdk_version = 15 ext.applicationId = 'com.beiyijinfu.rxbusdemo' repositories { google() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.0.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version" // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } }

使用规则,字符串需使用“$”,整形直接用

android { compileSdkVersion compile_sdk_version defaultConfig { applicationId "com.xxx.xxxx" minSdkVersion min_sdk_version targetSdkVersion target_sdk_version versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } } dependencies { implementation filetree(dir: 'libs',include: ['*.jar']) implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" implementation "com.android.support:appcompat-v7:$support_version" implementation "io.reactivex.rxjava2:rxandroid:$rxandroid" implementation "org.jetbrains.anko:anko-common:$anko_version" implementation "com.android.support:recyclerview-v7:$support_version" }

方式三:

在根目录下的build.gradle文件下添加 ext{ .... } 中的内容:

ext{ kotlin_version = '1.1.51' rxandroid = '2.0.1' anko_version = '0.8.2' support_version = '26.1.0' target_sdk_version = 26 compile_sdk_version = 26 min_sdk_version = 15 }

使用规则,字符串需使用“$rootProject.”,整形直接用rootProject.。ext可加可不加

android { compileSdkVersion rootProject.compile_sdk_version defaultConfig { applicationId "com.xxx.xxxx" minSdkVersion rootProject.ext.min_sdk_version targetSdkVersion rootProject.ext.target_sdk_version versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } } dependencies { implementation filetree(dir: 'libs',include: ['*.jar']) implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$rootProject.ext.kotlin_version" implementation "com.android.support:appcompat-v7:$rootProject.support_version" implementation "io.reactivex.rxjava2:rxandroid:$rootProject.rxandroid" compile "org.jetbrains.anko:anko-common:$rootProject.anko_version" compile "com.android.support:recyclerview-v7:$rootProject.support_version" }

方式四:

在项目根目录下创建.gradle文件,如:config.gradle,config.gradle中文件内容可以自己定义,如下示例:

ext{ kotlin_version = '1.1.51' rxandroid = '2.0.1' anko_version = '0.8.2' support_version = '26.1.0' target_sdk_version = 26 compile_sdk_version = 26 min_sdk_version = 15 }

使用规则,在build.gradle中先引用进来:

apply from :"config.gradle"
dependencies { compile filetree(include: ['*.jar'],dir: 'libs') compile "com.android.support

总结

以上所述是小编给大家介绍的Android Studio中统一管理版本号引用配置问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程小技巧网站的支持!

android studio 3.0加载其他人项目时的一些配置问题

android studio 3.0加载其他人项目时的一些配置问题

1 首先确定自己的Android Studio 确实可以正确运行一个project

2 修改 build.gradle:

          build.gradle 文件有两个级别 

                             项目级:针对module的全局配置    ./build.gradle

                             module级: . app/buile.gradle,  更细致的配置

         按照你的可以运行的project 的两个build.gradle 文件,修改导入的其他人的project中这两个文件以下配置

          a.  ./build.gradle  

           

          将其改成你已经下好的gradle版本

           b   . app/buile.gradle

          

          修改sdk版本 和 buildtools 版本

 

 

         

android studio gradle 统一管理版本

android studio gradle 统一管理版本

创建 config.gradle

ext {
    android = [
            compileSdkVersion    : 26,
            buildToolsVersion    : "26.0.2",
            minSdkVersion        : 15,
            targetSdkVersion     : 26,
            versionCode          : 1,
            versionName          : "1.0",
            androidSupportVersion: "26.1.0",
    ]
    dependencies = [
            "annotations"               : "com.android.support:support-annotations:${android["androidSupportVersion"]}",
            "appcompat-v7"              : "com.android.support:appcompat-v7:${android["androidSupportVersion"]}",
            "design"                    : "com.android.support:design:${android["androidSupportVersion"]}",
    ]
}

使用

project--gradle

apply from : "config.gradle"

app--gradle

defaultConfig {
        applicationId "com.example.ma.demo"
        minSdkVersion rootProject.ext.android["minSdkVersion"]
        targetSdkVersion rootProject.ext.android["targetSdkVersion"]
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
dependencies {
    implementation fileTree(include: [''*.jar''], dir: ''libs'')
    implementation rootProject.ext.dependencies["appcompat-v7"]
}

 

Android studio Gradle配置通用配置

Android studio Gradle配置通用配置

 在使用Android studio  Android开发中Gradle通常会遇到很多相同的配置例如在不同的module中都要配置相同的compileSdkVersion、buildToolsVersion等

这时我们可以定义一个共享变量统一他们的配置,防止不同module因为配置不同而导致的一些兼容性问题,或一些其他bug

一、定义共享变量

在工程根目录创建一个名为common_config.gradle的文件

文件内容举例

project.ext{
    //java相关
    java_version=8
    java_max_heap_size=4G

    //JDK版本兼容
    source_compatibility = this.&getJavaVersion()
    target_compatibility = this.&getJavaVersion()

    //kotlin 版本‘
    kotlin_version = ''1.3.41''

    //Android编译相关版本
    compile_sdk_version =28
    build_tools_version =''28.0.3''
    min_sdk_version= 16
    target_sdk_version =29

    //混淆相关
    minify_enabled =false
}
def getJavaVersion(){
    switch (project.ext.java_version){

        case "6":
            return JavaVersion.VERSION_1_6
        case "7":
            return JavaVersion.VERSION_1_7
        case "8":
            return JavaVersion.VERSION_1_8
    }
}

二、引入通用配置

apply from:"${project.rootDir}/common_config.gradle"

示例:

buildscript {
    //引入通用配置
   apply from:"${project.rootDir}/common_config.gradle"

    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath ''com.android.tools.build:gradle:3.5.0''
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        //small 插件框架
     //   classpath ''net.wequick.tools.build:gradle-small:1.1.0-alpha2''
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files

    }

}
......

三、在Module中使用这个通用配置

示例:

  compileSdkVersion compile_sdk_version
    buildToolsVersion build_tools_version
    defaultConfig {
        applicationId "com.jelly.smalldemo"
        minSdkVersion minSdkVersion
        targetSdkVersion targetSdkVersion
        versionCode 1
        versionName "1.0.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        applicationIdSuffix =kotlin_version
    }
    buildTypes {
        release {
            minifyEnabled minify_enabled
            proguardFiles getDefaultProguardFile(''proguard-android-optimize.txt''), ''proguard-rules.pro''
        }
    }

 

Android studio so文件 配置问题 CPU架构不同 apk缩小

Android studio so文件 配置问题 CPU架构不同 apk缩小

  • android支持的cpu架构(目前是七种)

armeabi 第5代 ARM v5TE,使用软件浮点运算,兼容所有ARM设备,通用性强,速度慢   --只支持这个就够了
armeabi-v7a 第7代 ARM v7,使用硬件浮点运算,具有高级扩展功能 --只支持这个就够了
arm64-v8a 第8代,64位,包含AArch32、AArch64两个执行状态对应32、64bit
x86 intel 32位,一般用于平板
x86_64 intel 64位,一般用于平板
mips 少接触
mips64 少接触

Android 设备的CPU类型(通常称为”ABIs”)

  1. armeabiv-v7a: 第7代及以上的 ARM 处理器。2011年15月以后的生产的大部分Android设备都使用它.
  2. arm64-v8a: 第8代、64位ARM处理器,很少设备,三星 Galaxy S6是其中之一。
  3. armeabi: 第5代、第6代的ARM处理器,早期的手机用的比较多。
  4. x86: 平板、模拟器用得比较多。
  5. x86_64: 64位的平板。

 

 

  • 问题

这是最新应用的lib下的目录结构,然后同样打旧版本包的lib目录,发现,旧的包只有armeabi-v7a这个文件夹,再查看各个文件夹下的文件,又发现,新版本的包中确实只有在armeabi-v7a文件夹下有libmupdf.so文件,其他文件夹下的都是fresco的so文件,而armeabi-v7a存放的是32位的so文件。

 

只保留某一个abi,比如armeabi

为了包大小的考虑,去掉多余的本地库

build.gradle中

android {
 defaultConfig {
        ndk {
            abiFilters ''armeabi''
            //abiFilters "armeabi","armeabi-v7a" 
        }
    }
}

 

  • 建议

来自于博客:《与 .so 有关的一个长年大坑 》给的建议是:

1.为了减小 apk 体积,只保留 armeabi 和 armeabi-v7a 两个文件夹,并保证这两个文件夹中 .so 数量一致

2.对只提供 armeabi 版本的第三方 .so,原样复制一份到 armeabi-v7a 文件夹

 

  • 文档

GRADLE构建最佳实践

用GRADLE构建安卓项目已是大势所趋,具体实战中姿势啥的很重要,结合具体应用场景,最佳实践给你最佳的体验

http://www.figotan.org/2016/04/01/gradle-on-android-best-practise/

 

与 .so 有关的一个长年大坑

https://zhuanlan.zhihu.com/p/21359984

 

https://zhuanlan.zhihu.com/p/23102158

关于Android Studio中统一管理版本号引用配置问题android studio 版本号的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于android studio 3.0加载其他人项目时的一些配置问题、android studio gradle 统一管理版本、Android studio Gradle配置通用配置、Android studio so文件 配置问题 CPU架构不同 apk缩小的相关信息,请在本站寻找。

本文标签: