東川印記

一本東川,笑看爭龍斗虎;寰茫兦者,度橫佰昧人生。

MacBookPro2019x2开始使用Intellij idea 2020.2.1了

2020年12月12日星期六



还是得重开这个,更方便啊

1,Intellij菜单顺序调整

安装了Intellij idea 2020.2.1,发现部分二级菜单顺序变了

比方说 清理项目,之前在idea 2018.2.1上在这


到了idea 2020.2.1跑下面去了

可以给它改回去

菜单Prefrences -> Appearance & Behavior(菜单和行为) -> Menus and Toolbars(菜单和工具栏) ->

Main Menu(主菜单) -> Build(构建) -> 移动位置,好像移动不能把一级跨到二级,可以删了,点上面加号重新加。。。。

idea 2018.2.1 之前是这样

idea 2020.2.1 改到了上面


idea 2020.2.1应用后就变成这样了,这样舒服多了


2,移除中文语言包

idea 自2020.1.1开始,官方支持中文插件了,刚好奇下了个,结果那么多年英文的看惯了,中文就看着就不知道这是干嘛的了。。。。

卸了重启,换回英文,感觉舒服多了。。。。


3,android xml %转义

java.util.UnknownFormatConversionException: Conversion = 'End of String'

<string name="answer_summary_right_rate">正确率: %1$.0f %%</string>

用\%竟然一直崩溃,换成%%显示正常

4,Unresolved reference: javaClass

竟然有类取不到类名。。。。

PrimaryContext.CLS_HOME = MineActivity.javaClass.canonicalName
PrimaryContext.CLS_LOGIN = LogonActivity.javaClass.canonicalName
PrimaryContext.CLS_WELCOME = WelcomeActivity.javaClass.canonicalName //这个竟然不行
PrimaryContext.CLS_WELCOME = WelcomeActivity::javaClass.javaClass.canonicalName //这个可以
PrimaryContext.CLS_WELCOME = WelcomeActivity::class.java.canonicalName     //这个也可以


然后打印之后发现是这样

2020-09-02 16:38:30.042 30682-30682/? W/TEST:     0:cn.cas.sciencep.user.view.activity.LogonActivity.Companion
        1:cn.cas.sciencep.WelcomeActivity

原来是这样呀。。。。

5,小米上架monkey

adb shell monkey -v - -throttle 300 - -pct-touch 30 - -pct-motion 20 - -pct-nav 20 - -pct-majornav 15 - -pct-appswitch 5 - -pct-anyevent 5 - -pct-trackball 0 - -pct-syskeys 0 -p '%s' 1000

dev.mi.com/docs/appsmarket/technical_docs/fc_log/


SENRSL:Downloads senrsl$ adb -s 192.168.6.17:5555 shell monkey -p 包名 -v --throttle 300 --pct-touch 30 --pct-motion 20 --pct-nav 20 --pct-majornav 15 --pct-appswitch 5 --pct-anyevent 5 --pct-trackball 0 --pct-syskeys 0 -p '%s' 100000
:Monkey: seed=1599094329392 count=1000
:AllowPackage: %s


6,Error in network definition: expected mapping

Ubuntu18.04网络配置改成了netplan模式。。。。

root@office-box:/etc/netplan# cat enp3s0.yaml
network:
  ethernets:
    enp3s0:
      dhcp4: no
      addresses:
      - 192.168.11.183/24
      gateway4: 192.168.11.254
  version: 2
root@office-box:/etc/netplan# netplan apply
root@office-box:/etc/netplan#


要对齐,冒号后面还要有空格。。。。太反人类的设置了。。。。

7,Ubuntu18.04定时任务

定时任务

root@office-box:/# crontab -e
crontab: installing new crontab
root@office-box:/# crontab -l
*/1 * * * * /bin/bash /data/network/init-networking.sh
* 18 * * * reboot
root@office-box:/#

分时日月周 命令

* : 任何时间都可以

,:分隔时段

-:时间范围

/n:每隔n久

root@office-box:/# service cron status

root@office-box:/# service cron restart


8,ubuntu18.04查看网关

root@office-box:/etc/netplan# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.11.254  0.0.0.0         UG    0      0        0 enp3s0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
172.18.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker_gwbridge
172.19.0.0      0.0.0.0         255.255.0.0     U     0      0        0 br-f2af6aef03d0
192.168.11.0    0.0.0.0         255.255.255.0   U     0      0        0 enp3s0
root@office-box:/etc/netplan# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.11.254  0.0.0.0         UG        0 0          0 enp3s0
172.17.0.0      0.0.0.0         255.255.0.0     U         0 0          0 docker0
172.18.0.0      0.0.0.0         255.255.0.0     U         0 0          0 docker_gwbridge
172.19.0.0      0.0.0.0         255.255.0.0     U         0 0          0 br-f2af6aef03d0
192.168.11.0    0.0.0.0         255.255.255.0   U         0 0          0 enp3s0
root@office-box:/etc/netplan# cat /etc/resolv.conf
nameserver 114.114.114.114
nameserver 180.76.76.76
nameserver 223.5.5.5
nameserver 223.6.6.6
root@office-box:/etc/netplan#


9,git 允许无关历史 fatal: refusing to merge unrelated histories 

SENRSL:TestSpringBoot senrsl$ git pull origin master
From github.com:senRsl/TestSpringBoot
 * branch            master     -> FETCH_HEAD
fatal: refusing to merge unrelated histories
SENRSL:TestSpringBoot senrsl$ git s
On branch master
nothing to commit, working tree clean
SENRSL:TestSpringBoot senrsl$ git pull origin master --allow-unrelated-histories
From github.com:senRsl/TestSpringBoot
 * branch            master     -> FETCH_HEAD
Merge made by the 'recursive' strategy.
 LICENSE | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
 create mode 100644 LICENSE
SENRSL:TestSpringBoot senrsl$ git s

10,idea的setting repo

官网提供两种方式,一种是登录jetbin账号同步,一种是同步配置到库,而之前常用的是第三种,export setting jar.

现在折腾第二种

www.jetbrains.com/help/idea/sharing-your-ide-settings.html

github建一个private空白库,idea 2018.2 File -> Settings Repository,填入库地址,OverWrite Remote,配置便上传到了github....

实际就是本地建了个git库

目录在 /Users/senrsl/Library/Preferences/IntelliJIdea2018.2/settingsRepository/repository

之后在 Preferences -> Tools -> Settings Repository 下可以看到,默认会开启 Auto Sync.


然后尝试从2020.2.3中 ovverwrite local.

这个git 配置在 /Users/senrsl/Library/Application Support/JetBrains/IntelliJIdea2020.2/settingsRepository/repository

感觉好像还是 export jar, import jar 更灵活。。。。

setting repo 这个还是同平台同版本使用吧,跨版本坑好多。。。。还是老实用 import jar....

11,插件化中-applymapping结果出现混淆后类名重复

先混淆 项目A,然后用项目A的mapping.txt去混淆项目B。

发现 项目B的混淆结果,B中的一个类 跟 项目A中的另一个类,混淆前 是不同的包名不同类名,混淆后包名类名变成了相同的。导致 后面的寻址异常。

暂时的方案:

手动 增加混淆配置到 B混淆前的mapping.txt,然后 clean project,再 打包B。。。。一定要clean

dc.android.libs.parasitic.BridgePluginActivity -> dc.android.libs.bb.a:
    android.app.Activity activity -> m
    dc.android.base.wrapper.OrientationWrapper orientationWrapper -> n
    dc.android.base.wrapper.ImmersiveBarWrapper barWrapper -> o
    dc.android.base.wrapper.HideInputWrapper hideInputWrapper -> p
    void <init>() -> <init>
    void onCreate(android.os.Bundle) -> onCreate
    void initLayout() -> f_
    void setContentView(int) -> setContentView
    void setContentView(android.view.View) -> setContentView
    void setContentView(android.view.View,android.view.ViewGroup$LayoutParams) -> setContentView
    android.view.LayoutInflater getLayoutInflater() -> getLayoutInflater
    android.view.Window getWindow() -> getWindow
    android.view.View findViewById(int) -> findViewById
    java.lang.ClassLoader getClassLoader() -> getClassLoader
    android.view.WindowManager getWindowManager() -> getWindowManager
    android.content.pm.ApplicationInfo getApplicationInfo() -> getApplicationInfo
    android.content.res.Resources$Theme getTheme() -> getTheme
    android.content.res.AssetManager getAssets() -> getAssets
    android.content.res.Resources getResources() -> getResources
    android.content.Intent getIntent() -> getIntent
    void finish() -> finish
    void onStart() -> onStart
    void onResume() -> onResume
    void onNewIntent(android.content.Intent) -> onNewIntent
    void onActivityResult(int,int,android.content.Intent) -> onActivityResult
    void onConfigurationChanged(android.content.res.Configuration) -> onConfigurationChanged
    void onRestart() -> onRestart
    void onPause() -> onPause
    void onStop() -> onStop
    void onDestroy() -> onDestroy
    void onSaveInstanceState(android.os.Bundle) -> onSaveInstanceState
    boolean dispatchTouchEvent(android.view.MotionEvent) -> dispatchTouchEvent
    boolean onTouchEvent(android.view.MotionEvent) -> onTouchEvent
    void onBackPressed() -> onBackPressed
    void startActivity(android.content.Intent) -> startActivity
    void setLayout(boolean,int,boolean,int) -> a
    void setLayout(boolean,android.view.View,boolean,int) -> a
    boolean isStandard() -> k
    android.app.Activity getActivity() -> n

然后 instanceof 接口终于是true了。。。。就可以找后续的bug了。。。。

12,升级到2020.2.4了

更新到2.4,终于算是稳定多了。。。。

2020年12月12日11:50:00

准备抢茅台。。。。

--
senRsl
2020年09月01日14:20:03

没有评论 :

发表评论