Android Studio 项目相关配置杂记

来源:互联网 发布:mysql base64 解码 编辑:程序博客网 时间:2024/06/16 17:29

转载请注明出处: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);
原创粉丝点击