Android Studio 项目相关配置杂记

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/darling_R/article/details/76050360

转载请注明出处:http://blog.csdn.net/darling_R/article/details/76050360

1.签名文件的安全配置

有时候需要把项目上传到GitHub上,但是签名文件在gradle里面配置,密码都会暴露出去,所以采用以下方式配置就可以保证签名文件的保密性
1.在项目的根目录下,有一个文件:gradle.properties,这个文件一般是不需要上传的,打开这个文件,在文件最末添加以下内容:

# 签名别名
RELEASE_KEY_ALIAS=此处写你的签名文件的别名
# 签名密码
RELEASE_KEY_PASSWORD=这是密码
# 签名文件地址
RELEASE_STORE_FILE=这是签名文件的路径
# store密码
RELEASE_STORE_PASSWORD=密码

2.在model下的build.gradle文件里添加以下代码,对上面的配置进行引用

    android{
     ...
       signingConfigs {
          relase {
              keyAlias RELEASE_KEY_ALIAS
              keyPassword RELEASE_KEY_PASSWORD
              storeFile file(RELEASE_STORE_FILE)
              storePassword RELEASE_STORE_PASSWORD
          }
      }
     ...
    }

2.Android Studio 项目多渠道打包配置 步骤详解(以友盟为例)

1.首先配置好友盟的appkey

<meta-data android:name="UMENG_APPKEY" android:value="59b769261c5dd02bc4000069"/>
<!--${CHANNEL_VALUE} 占位符,用于后面替换渠道名使用-->
<meta-data android:name="UMENG_CHANNEL" android:value="${CHANNEL_VALUE}"/>

2.设置productFlavors(两种方式)

a:
(1)直接打开build.gradle 文件,在android{}里新建productFlavors{}:

android{
    productFlavors {
        huawei {
            manifestPlaceholders = [CHANNEL_VALUE: "huawei"]
        }
        qh360 {
            manifestPlaceholders = [CHANNEL_VALUE: "qh360"]
        }
        yiyongbao {
            manifestPlaceholders = [CHANNEL_VALUE: "yiyongbao"]
        }
    }
}

(2)批量修改渠道名

android{
    productFlavors {
        huawei {}
        qh360 {}
        yiyongbao {}
    }
    productFlavors.all {
        flavor -> flavor.manifestPlaceholders = [CHANNEL_VALUE: name]
    }
}

里面的每一个便签对应一个渠道,名字自己随便取,
b:
如果不想一行行的写代码,也可以使用studio的界面设置,如下图:
这里写图片描述
需要几个渠道,就在这里新建几个Flavors,后面的内容都可以空着,这里新建之后,去build.gradle文件里查看,就会自动生成productFlavors{}标签,如下:
这里写图片描述
然后自行配置里面的内容,或者批量修改。

还可以自定义apk打包后的输出位置以及名称,配置如下:

android {
        buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.relase

            // 自定义输出配置
            applicationVariants.all { variant ->
                variant.outputs.each { output ->
                    def outputFile = output.outputFile
                    if (outputFile != null && outputFile.name.endsWith('.apk')) {
                        // 输出apk名称为qqbike_v1.0_wandoujia.apk
                        def fileName = "qqbike_v${defaultConfig.versionName}_${variant.productFlavors[0].name}.apk"
                        output.outputFile = new File(outputFile.parent, fileName)
                    }
                }
            }
        }
        debug {
            signingConfig signingConfigs.relase
        }
    }

到此,配置已完成,可以开始打包了,走正常的打包流程,在打包过程中会出现以下界面,选择需要打包的渠道
这里写图片描述
然后 开始执行打包过程,等待结束之后,就可以看到有不同名称的apk安装包啦。

使用命令来进行打包(逼格更高一点)

1.打开studio的控制面板,Terminal;
直接输入gradlew assembleRelease 来执行打包;
如果只打包其中一个渠道的包,例如只要360的

gradlew assembleQh360

如果只打包release包

gradlew assembleQh360Release

只打包Debug

gradlew assembleQh360Debug

其他渠道同上。

3.Dialog里面有EditText的时候,软键盘不能弹出的解决方案

添加下面这行代码就可以了,

dialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);

软键盘的显示与隐藏

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
//下面这行代码会自动检测软键盘的显示与否,如果此时是显示的,就会隐藏,否则 反之;
imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);

猜你喜欢

转载自blog.csdn.net/darling_R/article/details/76050360