淘姐妹

淘姐妹

栈的代码问题及解决方案 全栈开发第19讲

手机 0

淘宝搜:【天降红包222】领超级红包,京东搜:【天降红包222】
淘宝互助,淘宝双11微信互助群关注公众号 【淘姐妹】

栈操作代码,栈的基本运算代码,栈的输出代码,栈的基础代码

? ? ? ? 因为要开发至简网格,涉及的面很广,继续用服务侧开发也需要多端开发。碰到零零总总各类问题,全部记录在这里,便于以后查找。

? ? ? ? 顺便做个小广告,至简网格是一套端&云结合开发框架,极大简化了服务侧与端侧开发,服务侧使用简单的json配置与sql、js脚本,就可以搞定95%以上的业务场景;端侧支持android与windows,本质是一个轻应用开发框架,用vue+quasar实现UI,使用极其简单。实现的几个业务代码已在码云、CSDN开源,还在持续完善中,欢迎使用。

目录

1.?环境问题

1.1.?【【淘密令】】

1.1.1.加入jar、aar的方法:

1.1.2.模拟器路径权限

1.1.3.gradle安装

1.1.4.gradle问题

1.1.5.kotlin、gradle插件被禁用

1.1.6.Kotlin-android not found错误

1.1.7.?修改gradle配置

1.1.8.打开logcat查看日志

1.1.9.删除多余import

1.1.10.修改checkstyle规则

1.1.11.修改工程名称

1.1.12.adb覆盖安装

1.1.13.导入样例工程时需要修改的地方

1.2.?模拟器

1.2.1.模拟器IP及外部访问

1.2.2.进入模拟器命令行

1.3.?网络

1.3.1.手机与PC之间网络不通

1.3.2.PC不能ping手机

1.3.3.同局域网下手机访问PC

1.4.?小米手机

1.4.1.小米手机,无法打开usb安装

1.4.2.真机进入开发者模式

1.5.?华为或荣耀手机

1.5.1.打开debug级别日志

1.6.?iOS

1.6.1.IPhone webserver备忘

1.7.?Eclipse

1.7.1.?更换包名

1.8.Gradle

1.8.1.asset下以下划线“_”开头的目录被忽略

1.9.Java

1.9.1.安装GraalVm

2.安卓开发问题

2.1.?权限

2.1.1.应用权限设置

2.2.?底层

2.2.1.动态加载dex插件

2.2.2.?实现禁止手动删除数据

2.2.3.?定义安全策略

2.2.4.依赖了kotlin编写的库

2.3.?安全

2.3.1.可信根加解密

2.3.2.?添加自签名根证书

2.4.?JUnit测试

2.4.1.Android中无法写文件

2.4.2.测试准备与清理

2.5.?Logback日志

2.5.1.配置中的属性

2.5.2.?DATA_DIR等内置属性未定义

2.6.版本发布

2.6.1.应用签名

2.6.2.?图标不更新

3.?C#开发问题

3.1.目录权限

3.2.Log4net输出文件路径

3.3.嵌入资源文件

3.4.setup工程配置

3.5.混淆

4.?Hybrid

4.1.?框架

4.2.?禁止选中文字

4.3.引用component

4.4.?生成二维码

5.常识

5.1.统一信用码编码规则及校验

5.2.行政区划编号

5.3.Git命令集

a)在app下创建目录libs

b)在app\build.grale中增加【【微信】】ee(dir: 'libs', include : ['*.jar','*.aar'])

c)将jar、aar文件拷贝到下面;

d)如果【【淘密令】】不能识别,则点击菜单File->In【【微信】】/Restart,然后等等重启即可;

如果手动在【【淘密令】】的De【【微信】】中创建路径、文件,会导致在app中无权限访问,必须在App中自己创建。

  1. 解压到指定路径;
  2. ?配置GRADLE_HOME指向该路径;
  3. 在路径下创建user目录,配置GRADLE_USER_HOME为%GRADLE_HOME%?#xff0c;用于存放临时文件;
  4. ?将%GRADLE_HOME%\bin加入PATH变量
  5. 【【淘密令】】的File->Settings中搜索Gradle,设置Gradle路径及GradleUser路径;
  6. ?如果升级gradle,建议下载后,仍然解压到相同路径,这样所有应用的设置不用变动。

工程目录下build.gradle中指定的是【【淘密令】】的gradle的版本,可能是适配器,尽量不要改,或者改成【【淘密令】】的版本;

gradle\wrapper\gradle-wrapper.properties指定gradle版本,路径可以写成本地下载的zip文件,比如file\:///本地路径,所以这个目录下gradle的zip文件不可以删除。这样可以避免不同的工程都下载一遍。

这两个插件是不可以禁用的,如果禁用,【【淘密令】】启动会异常。

这时可以在disabled_plugins.txt中删除相应记录即可,位置如下:

C:\Users\用户名\AppData\Roaming\Google\【【淘密令】】4.1\disabled_plugins.txt

在项目build.gradle中删除导致错误的行,然后在Tools-Kotlin选择运行Config Kotlin in Project即可。

每次修改gradle文件,会导致无法编译运行工程,这时选择File->Sync Project With Gradle Files后即可。

菜单【【微信】】中,打开logcat查看日志。

还有其他一些功能也在此目录下;

菜单 Code-Optimize Imports可以自动删除所有多余的import;或者使用ctrl+alt+’o’热键。

在Settings-Inspections中搜索提示的关键词,找到规则,然后勾选或勾除

比如将样例工程修改成最终的工程名称,按以下步骤即可完成:

1.关闭【【微信】】;

2.修改项目文件夹的名字;

3.修改OldProjectName.iml文件(在项目的根目录的.idea目录下)的名称为新项名称,即OldProjectName.iml修改为NewProjectName.iml;

4.修改.idea/workspace.xml中相应的名称;

5.修改app/build.gradle中的applicationId;

6.然后把该文件中的external.linked.project.id的值也设置为新项目的名称,即 external.linked.project.id=”NewProjectName”;

7.再次打开【【淘密令】】即可。

adb install xxx.apk 如果已安装了,此时会提示

Failure [INSTALL_FAILED_ALREADY_EXISTS: Attempt to re-install?xxx?without first uninstalling.]

使用adb install -r xxx.apk,可以覆盖安装它,但是仍然保留前面的数据。

  1. 修改项目目录下gradle/wrapper/gradle-wrapper.properties中的distributionUrl,将版本改成graddle中已有的版本,不然又要下载个老的;
  2. 修改项目目录下build.gradle,将ext.kotlin_【【微信】】改为当前已有的版本,kotlin版本可以在file-settings-plugins中查看;
  3. 修改项目目录下app/build.gradle,删除buildSdk【【微信】】,使用当前已有的版本,修改compileSdk、targetSdk为【【淘密令】】当前最新版本,修改minSdk为合适的版本,注意这三个配置项的名称在新版本的gradle中,末尾不能带【【微信】】;

在模拟器内部,宿主机器IP为10.0.0.2,模拟器自身IP为10.0.2.15/127.0.0.1/localhost

如果需要在宿主机中直接访问模拟器内部的TCP端口,需要先做映射。

adb forward tcp:8081?tcp:8080

这样就可以访问?

adb -s emulator-5554 shell

一般是路由器设置有问题,可能在路由器无线设置中开启了AP隔离,使得同一路由器下各个节点之间不可互通。

网络防火墙默认是不会禁用出站请求的,但是如果安装了360,在360的安全防护中心->入口防护体系中,如果选择了局域网防护,则PC无法联通手机。

首先,PC上需启动web服务;

其次,要在系统防火墙高级设置中,添加入站规则开放相应的端口,比如TCP的8080端口;

最后,如果安装了360,需要在安全防护中心->系统防护体系中,关闭网络安全防火。

插入一张Sim卡,没用的Sim卡也可以

不同型号得手机,包括华为、小米等,都是在设置的安卓版本上多次点击,即可进入开发者模式。进入开发者模式后,才可以打开USB调试。

华为手机默认日志级别是info,无论【【淘密令】】中设置的是什么,如果要打开debug级别,按以下步骤设置。

1.拨号界面拨号*#*#【【QQ微信】】#*#*可以看到工程菜单;

2.选择后台设置进入;

3.打开?LOG设置,选择?AP日志;

4.回到【【淘密令】】中,改变一下日志级别,就可以看到debug了;

5.如果还是无法显示,但是adb logcat -d可以查看,则重启以下【【淘密令】】即可。

基于【【微信】】开发webserver,【【微信】】是iOS中的netty。

其他的如GCDWebServer、【【微信】】都已长期无更新

在包上点右键,选择Refactor,出现更名窗口,输入新的名称,一定要选择Rename subpackages,否则只会新建一个空的包

在项目的gradle文件的android下添加以下配置,将此功能关闭掉

aaptOptions{ ? ignoreAssetsPattern '!._' }

下载安装:与java配置完全相同,解压后,配置JA【【微信】】以及将bin设置到系统变量path中

安装nati【【微信】】:gu install nati【【微信】】

安装llvm:【【微信】】ain

安装js引擎:gu install js

原生编译命令:nati【【微信】】

用root用户安装服务是个坏习惯,特别是对外保留接口的服务,一旦有漏洞,黑客获取的就是root权限,所以另建用户安装服务。 useradd -m mesh -m参数要求系统在/home下自动创建用户目录,mesh为用户名称 passwd mesh 为用户设置一个密码

服务程序运行在8523端口,需要将80与443都转发到这个端口,用【【淘密令】】添加转发规则就可以实现。

1.首先安装【【淘密令】】,如果已安装,开启它就可以了; //systemctl stop firewalld ? ? ? ? ? ?# 关闭防火墙 yum -y install 【【微信】】ervices ? ? ? # 安装 【【淘密令】】 服务 systemctl enable 【【淘密令】】 ? ? ? ? ? ?# 设置 【【淘密令】】 服务开机启动 systemctl start 【【淘密令】】 ? ? ? ? ? ? # 启动 【【淘密令】】 服务 service 【【微信】】ave ? ? ? ? ? ? ? ?# 保存 【【淘密令】】 配置 ser【【微信】】 ? ? ? ? ? ? # 重启 【【淘密令】】 服务

2.开放端口; 【【淘密令】】服务启动后,默认禁止了1024以上的端口,所以必须打开 【【淘密令】】 -I INPUT -p tcp --dport 8523 -j ACCEPT

3.然后添加端口转发规则; 【【淘密令】】 -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8523 【【淘密令】】 -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 8523

4.查看某个端口的转发规则 【【淘密令】】 -t nat -L -n |?grep?80

5.删除端口转发规则 【【淘密令】】 -t nat -D PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8523

6.最后,保存规则。 service 【【微信】】ave

这样在80与443端口都可以访问。

在【【微信】】.xml中设置,与application同一级别

同时,在application中设置android:re【【微信】】torage="true"

  1. 使用PathClassLoader类加载器实现动态加载dex插件;
  2. 加载前需要调用dex命令将jar文件转为dex文件,dex文件可以从外部下载获得;
  3. 因为ClassLoader加载的规则,不同插件不能互访,但是,插件可以访问apk中的类;

实现一个删除数据的Activity,并在【【微信】】.xml-application-android:manageSpaceActivity引用此【【微信】】,实现自定义的删除数据管理界面,在此只删除可以删除的,或者全部不删除,比如禁止删除sqlite数据库等。

此Activity的定义与普通Activity毫无差异。

在【【微信】】.xml-application-android:networkSecurityConfig中可以自定义安全策略,比如预置自签名的根证书等。

比如okhttp4.x,提示Failed resolution of: Lkotlin/jvm/【【微信】】/Intrinsics,

Kotlin并无特别的优点,建议别用了。限制OkHttp4依赖Kotlin,也用不成了。

使用【【微信】】进行加解密,【【微信】】的底层用的是Tee。

它的问题是,在黑屏情况下,无法使用。

EncryptedSharedPreferences 使用的也是【【微信】】。

使用CA机构签发证书,通常成本较高&

小米未来股市行情预测分析 小米10%毛利率交税吗

小米未来股市行情预测分析报告,小米未来股市行情预测分析最新,小米股票未来十年,小米股市行情未来看好吗

摩根士丹利近日表示,给予小米集团“增持”评级,并给出目标价15港元。摩根士丹利指出,小米即将公布的第一季度业绩或将成为其股价催化剂。在智能手机需求疲弱的情况下,该公司有潜力实现利润复苏。摩根士丹利预计,在基本情况下,第一季度小米智能手机毛利率或为10%,预计届时其股价反应将较为温和,达到11.41港元至11.64港元之间。在最佳情况下,当季该公司智能手机毛利率或为11%,较去年第四季度呈现强劲复苏,届时该公司股价将增长5%-7%,达到11.87港元-12.09港元。而在最差的情况下,当季小米智能手机毛利率或为9%,核心盈利环比没有明显改善,该公司股价或将随之下跌3%-5%