可能会经常翻阅的东西(个人开发总结日志 )

147 阅读3分钟

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...即可

image.png

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">风速&#160;</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轴,使之呈现立体的感觉,那么久可以很好地显示阴影。