1.添加忽略文件后删除已追踪文件
git rm -r --cached .idea
git rm -r --cached .
2.拉取子module
//已有子mudule git配置的情况下使用
git submodule init
git submodule update
3.创建新项目初始化gif
rm -rf .git
git init
git remote add origin <url>(注意cn改com)
git add .
git commit -m”init”
git push -u origin master
4.adb 初始化
source .bash_profile
adb install ...
5.获取签名SHA1
提审过程中需要SHA1地址 获取方式
方式一:命令行
keytool -list -v -keystore <签名文件绝对路径>
方式二:Android Studio
点击AS最右边“Gradle”—>项目名—>app(module名)—>Tasks-->android-->点击signingReport—>在下方的“Run”中找到SHA1
(注意控制台中的签名文件路径)
注意:AS 4.2 之后默认不编译Tasks 修改设置并同步一下项目 取消勾选Do not build...即可
6.配置NDK
快捷键 command + ; 打开可以为项目配置NDK
但是有时候NDK不可配置 可以在「local.properties」中添加
例子:
sdk.dir=/Users/qiaodan/Library/Android/sdk
ndk.dir=/Users/qiaodan/Library/Android/sdk/ndk/16.1.4479499
7.lib重写
有时候第三方sdk还在采用非android x的内容
可以在「gradle.properties」中添加一句话 让as重写lib内容 采用android x
完整内容:
android.useAndroidX=true #使用android x
android.enableJetifier=true #重写第三方sdk
android.injected.testOnly=false #使某些设备测试包也可以安装
8.注意注意列表forEach过程中不能remove,否则会崩溃
9.strings.xlm注意点
结尾添加空格
<string name="wind_power">风速 </string>
CDATA再添加回车 使用</br>单标签
<string name="test"><![CDATA[充电结束<br/>立即结束后台<font color="#FFDA79">高耗电</font>]]>应用,优化电池性能</string>
10.处理壳文本
-
网上找一段纯英文文本
-
删除所有标点符号
-
将所有空格替换为回车
-
打开WPS表格 去重
-
首字母大写:B1中输入 「 =PROPER(A1) 」
-
结尾添加Activity: C1中输入 「 =B1&"Activity" 」
-
往下拉 拷贝出来
11.体外弹窗弹出时销毁体内界面问题总结
某一个体外界面 如果:
android:launchMode="singleTask"
android:taskAffinity="com.tony.stark.w"//指定了某个栈
完整例子如下:
<activity
android:name="com.android.high.labor.SmugglerActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:excludeFromRecents="true"
android:icon="@mipmap/icon_vacuum"
android:label="@string/phone_guard"
android:launchMode="singleTask"
android:screenOrientation="portrait"
android:taskAffinity="com.tony.stark.w"
android:theme="@style/theme_transparent" />
- 在体外通过通知弹出时 会销毁体内界面如MainActivity
- 在体内通过通知弹出时 不会销毁体内界面
若想解决此问题可以直接删除android:taskAffinity 或者将android:launchMode改为singleInstance
但是利用此特性可以在体外弹窗出现时 销毁体内 防止全屏广告出现时被拉回到体内
12.添加圆角和阴影的方式
圆角:简单的圆角可以直接使用drawable完成,但是drawable只能改变view背景,更复杂的情况比如需要使ImageView显示为圆角,则需要使用CardView进行包裹
CardView属性如下:
app:cardBackgroundColor//这是设置背景颜色
app:cardCornerRadius//这是设置圆角大小
app:cardElevation//这是设置z轴的阴影
app:cardMaxElevation//这是设置z轴的最大高度值
app:cardUseCompatPadding//是否使用CompatPadding
app:cardPreventCornerOverlap//是否使用PreventCornerOverlap
阴影:可以直接使用cardview的阴影效果 但是也有个新的方式
在任意viewgroup中添加以下三条属性:
android:elevation="3dp"
android:outlineProvider="bounds"
android:translationZ="3dp"
MD设计里面,视图可以投射阴影, elevation 值决定了阴影的大小和顺序。通俗来讲,就是elevation是一个权重,是阴影的初始值,是在静态的,相应的,translationZ则是动态值,是在Z轴上的偏移变化,阴影效果,其实就是抬高控件的Z轴,使之呈现立体的感觉,那么久可以很好地显示阴影。