android studio 真机利用wifi进行调试

参考网址:https://blog.csdn.net/captive_rainbow_/article/details/81012704

在dos窗口下一次如下下面的命令:

查看已连接的android 设备;

adb devices

用命令 adb -s [device id] tcpip [port] 为需要 wifi 连接的设备指定端口号

device id:需要连接的设备id,即第二步里边看到的那个字符串

port:连接使用的端口号,按自己心意指定,我用的 8888

示例:adb -s 98899a4558304e384f tcpip 8888

如果你只连接了一个设备 可以不用 -s 指定作用于那个设备,即adb tcpip 8888

=========================================================

用命令 adb connect [phone ip]:[port] 连接设备

phone ip:手机当前连接局域网的 ip地址。

port:上一步设置的端口号

示例:adb connect 10.10.10.60:8888   提示连接成功后,就可以用adb进行调试了

adb connect 172.22.122.3:8888

adb disconnect 172.22.122.3:8888

word 标题规则

word 规则、邮件规则-命名如下:

word规则----标题+版本+时间+编写人+相关人

邮件暂定规则---【XXX公司】+android adas 对接资料+v3.0.2+2019.04.19

android 启动其他app的语句Intent settintIntent = context.getPackageManager().getLaunchIntentForPackage("包名");context.startActivity(settintIntent);======启动app的时候传递参数============
Intent intent = mContext.getPackageManager().getLaunchIntentForPackage(packagename);
intent.putExtra("pkg","com.wander.bluetoothphone");
mContext.startActivity(intent); =====启动第三方的app==============================
Intent intent2 = mContext.getPackageManager().getLaunchIntentForPackage(packagename);
String classNameString = intent2.getComponent().getClassName();//得到app类名
Intent intent  = new Intent();
intent.setAction(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK| Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
intent.setComponent(new ComponentName(packagename, classNameString));
mContext.startActivity(intent);
android 单例模式private static volatile SingIn instance=null;
private SingIn (){}
public static SingIn getInstance(){
if(instance==null){
synchronized(SingIn .class){
if(instance==null){
instance=new SingIn ();}}}return instance;
}

android  studio gradle 版本号

复制android项目里面的数据库===

adb pull data/data/com.jdl.idas.phoneidas/databases/adasResult-db D:\SQlite

adb pull data/data/com.jdl.idas.phoneidas/databases/adasResult-db-journal D:\SQlite

adb pull data/data/com.jdl.idas.phoneidas/databases/ D:\SQlite

android中adb获取某个applogcat日志的方法:

参考网址:https://blog.csdn.net/hhy_123963/article/details/80609793

adb logcat | find "com.wdjr.department2.idas.phoneidas" >F:/androidCrash.txt

adb 进入默认的设置页面

参考网址--https://blog.csdn.net/flaming999/article/details/78709396/

adb shell am start com.android.settings/com.android.settings.Settings

查看屏幕分辨率的相关命令

1. adb shell

2. wm size

Physical size: 1600x480

3. wm density

Physical density: 160

---------------------------------------------------------------------------

adb shell dumpsys window displays    打印详细信息

adb shell wm size      简单打印

adb 挂在摄像头===========

adb shell
cd ./data/
insmod jaguar1_android.ko
./imx6_n4_test_nodisplay/**
* 常用的shell命令---喇叭切换的命令=======这个是之前的命令
*/
// public static final String[] SHELL_MEDIA = new String[]{"pt2369 1 1", "pt2369 0 128"};// 喇叭用于播放本地音乐--旧的
public static final String[] SHELL_MEDIA = new String[]{"2369CMD 1 2", "2369CMD 2 10"};// 喇叭用于播放本地音乐--新的
public static final String[] SHELL_CALL = new String[]{"mxc-blue", "mxc-fm1288"}; // 2019/1/16 电话声音

adb重新挂载=============

adb shell
mount -o remount /dev/block/mmcblk3p5 /system

加载sd卡中的so文件=============

普通apk的安装目录:、/data/data/xxx.xxx.xxx(package)/lib/libadas.so
只要把sd卡中的so文件复制到上面的目录上就可以执行了。
adb shell
mount -o remount /dev/block/mmcblk3p5 /system
// 切换目录
cd /data/data/com.idas.phoneidas/lib
// 先复制到sd卡,然后再移动到指定位置
mv /sdcard/a_usr_lib/libadas.so .
// 直接从电脑上push文件到手机里面
push xxx/libadas.so .       这个测试后无效
用adb打印log,
adb shell
logcat -t 20替换so文件之后,需要在设置中停止一下应用,下次运行的时候,apk才能使用新的so文件

adb cpu占用率===========

adb shell

在adb环境输入:top -m 10 -s cpu

# -m 10表示显示数量为10

# -s表示按指定行排序

参数含义:

PID : progress identification,应用程序ID

S : 进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数

#THR : 程序当前所用的线程数

VSS : Virtual Set Size虚拟耗用内存(包含共享库占用的内存)

RSS : Resident Set Size实际使用物理内存(包含共享库占用的内存)

PCY : 前台(fg)和后台(bg)进程

UID : User Identification,用户身份ID

Name : 应用程序名称

查看指定程序内存使用情况

1) 在adb shell里输入:dumpsys meminfo <package_name>

# <package_name> 为软件包名,如:com.storm.yeelion

参数含义:

dalvik : dalvik使用的内存

native : native堆上的内存,指C\C++堆的内存(android 3.0以后bitmap就是放在这儿)

other  : 除了dalvik和native的内存,包含C\C++非堆内存······

Pss    : 该内存指将共享内存按比例分配到使用了共享内存的进程

allocated : 已使用的内存

free      : 空闲的内存

private dirty : 非共享,又不能被换页出去的内存(比如linux系统中为了提高分配内存速度而缓冲的小对象,即使你的进程已经退出,该内存也不会被释放)

share dirty   : 共享,但有不能被换页出去的内存

获取手机屏幕分辨率=======================

adb shell dumpsys window displays

adb shell wm size

SourceTree 通过ssh秘钥验证失败=========================

CMD 命令里  plink.exe root@192.168.1.2  -P port     (root 是用户名, port 是端口号 默认 22)(注意  sourthtree  工具-选项  /SSH客户端选择  =  PuTTY)

原因是首次连接一个使用 SSH 协议的 Git 服务器的时候,因为远程SSH服务器的公钥没有经过确认而导致 git 命令执行失败。解决方法是在命令行下找到SourceTree安装目录里的PuTTy工具,例如"C:\Program Files (x86)\Atlassian\SourceTree\tools\putty\plink.exe"(注意路径包含空格时要加引号),然后运行命令 plink.exe root@192.100.105.2  -P 22(根据自己的Git仓库URL自行更改),遇到确认服务器公钥时,输入"y"即可。

安装系统apk

adb root

adb remount

adb push yourapk system/preloadapp/WDSimControl/

删除系统apk

命令步骤:

#adb root ------->进入系统中的根目录,获得系统权限

#adb remount------->重新挂载系统分区,使系统分区重新可写 mount -o remount /dev/block/mmcblk3p5 /system

#adb shell------------>进入模拟器的shell模式

#cd system/app------>进入系统中的app应用目录

#ls------------>显示当前文件中的APP所有应用的名称

#cd DreamCalculator ------------------->进入你所想要删除的APK的目录中

#rm -fr 再加需要删除应用的名称(比如DreamCalculator.apk)------------------->删除对应的apk文件(注:一定要加apk后缀名字)

#reboot------------>重新启动手机(因为只有重启才能进行应用的删除,注意点!!!!)

手动指定so文件的位置====

sourceSets {
main {jniLibs.srcDirs = ['src/main/jniLibs']aidl.srcDirs = ['src/main/aidl']}
}

查看签名文件的方法

debug.keystore
进入C盘上的 debug.keystore 文件:cd C:\Users\Administrator\.android 回车;3.获取信息:keytool -list -v -keystore debug.keystore 回车;4.输入密钥库命令: android  ;这个是不可见的,就获取到了详细的数据
debug.keystore是默认的签名
默认安装路径:C:\Users\Administrator\.android\debug.keystore
时间精确到毫秒 ====
SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMddhhmmss");
SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMddhhmmssSSS")
//SSS就是毫秒

android studio打印报错信息的方法

gradlew compileDebug --stacktrace

gradlew compileDebugSources --stacktrace -info

查看库的依赖树

gradlew :app:dependencies
gr adlew -q app:dependencies  查看app所需要的库;
参考网址-- https://www.jianshu.com/p/2bbaa4e86a8a

回到首页的方法

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_CLEAR_TASK);

显示图片

Glide.with(context).load(cacheUser.buslicenceUrl)
.apply(new RequestOptions().
error(R.mipmap.icon_me_bg)
.placeholder(R.mipmap.icon_me_bg))
.into(ivHeadView);
Glide.with(context).load(bean.carFacadeUrl)
.apply(new RequestOptions().
error(R.mipmap.icon_me_bg)
.placeholder(R.mipmap.icon_me_bg))
.into(new SimpleTarget<Drawable>() {
@Override
public void onResourceReady(Drawable resource, Transition<? super Drawable> transition) {
tvPhoto.setRightTvDrawableRight(resource);
}
});

eventbus的使用。

public static class MessageEvent { /* Additional fields if needed */ }@Subscribe(threadMode = ThreadMode.MAIN)
public void onMessageEvent(MessageEvent event) {/* Do something */};@Override
public void onStart() {
super.onStart();
EventBus.getDefault().register(this);
}@Override
public void onStop() {
super.onStop();
EventBus.getDefault().unregister(this);
}EventBus.getDefault().post(new MessageEvent());EventBusMessBean eventBusMessBean = new EventBusMessBean();
eventBusMessBean.setMess(MessConst.MESS_CAR_LIST);
EventBus.getDefault().post(eventBusMessBean);

jni生成.h文件的方法----------------------------------

https://www.cnblogs.com/mrszhou/p/6859137.html
H:\lym_DevelopmentWord\JNIStudy\app\src\main>
javah -d jni -classpath D:\Users\Administrator\AppData\Local\Android\sdk\platforms\android-22\android.jar;..\..\build\intermediates\classes\debug com.example.myyuvviewer.showyuv

activity退出代码=============

Intent intent = new Intent(SettingActivity.this, LoginActivity.class);intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);startActivity(intent);

框架完善方案;

1.写一个json解析的常用工具类,转int、double、“”等的方法;
2.添加无网络,无数据,服务器错误,等页面;---用广播 的方式提示页面退出登录的的时候--用广播提示当前的页面;--广播在start方法中注册,在pause里面注销
3.把response的所有返回值返到baseActivity中;
4.添加baseListActivity类;
5.只显示一个toast提示;
6.在退出页面的时候关闭toast提示;
7.手动添加加载进度条;
8.防暴击点击事件;
9. fragment 添加懒加载功能;

Ubuntu 使用========================

打开dos页面:ctrl+alt+t
打开文件:
xdg-open { file | URL }
xdg-open { --help | --manual | --version }
打开文件
vi 文件
ndk生成过程
切换到jni的上一层,然后执行ndk-build命令
---------------------打开共享文件
su
mount -t vmhgfs .host://mnt/hgfs
打包so文件的过程=========================
Build->Make Projectcd app/src/mainjavah -d jni -classpath D:\Users\Administrator\AppData\Local\Android\sdk\platforms\android-22\android.jar;..\..\build\intermediates\classes\debug\ com.adas.adas编译过程========================================
topeet@ubuntu:~/iTOP-iMX6_android4.4.2
source build/envsetup.sh
lunch
topeet@ubuntu:~/iTOP-iMX6_android4.4.2/external/linux-test/oper/imx6_ahd_app$ mm -B

其他--------------------

icon尺寸

72*72、48*48、96*96、144*144、192*192

友盟统计添加文档:https://developer.umeng.com/docs/66632/detail/66889

Android开发常用代码相关推荐

  1. Android 开发常用代码片段

    1.图片旋转 Bitmap bitmapOrg = BitmapFactory.decodeResource(this.getContext().getResources(), R.drawable. ...

  2. android 弹窗代码大全,36个Android开发常用经典代码大全

    //36个Android开发常用代码片段 //拨打电话 public static void call(Context context, String phoneNumber) { context.s ...

  3. android系列:第一篇 android开发常用命令集合,代码目录简介

    下面整理了android开发常用命令集合如adb命令,adb over wifi,jgrep等代码搜索命令,编译环境变量配置,lunch平台选择,mm模块编译,godir代码路径跳转,log.v()等 ...

  4. android开发常用的颜色值

    android 开发常用颜色值 AA 指定透明度. 00 是完全透明. FF 是完全不透明.超出取值范围的值将被恢复为默认值. ffff00 ffff33 ffff66 ffff99 ffffcc f ...

  5. Android开发常用开源库

    Android 开发常用开源库 一.网络请求 二.图片加载 三.数据库 四.通讯 五.注解 六.JSON解析 七.性能优化 八.性能优化之布局分析 九.工具类 十.状态栏 十一.扫码库 十二.播放器 ...

  6. Android开发常用软件

    shankes 博客访问链接: CSDN :shankes的博客 简书 : shankes 码云:shankes.gitee.io github:sankes.github.io Android开发常 ...

  7. Android开发常用功能 https://www.2cto.com/kf/201611/561847.html

    Android开发常用功能 2016-11-03 09:43:58          来源:EvanJames的专栏 收藏   我要投稿 1.定时器的实现 (1)采用Handler的postDelay ...

  8. Android开发常用工具类集合

    转载自:https://blog.csdn.net/xiaoyi_tdcq/article/details/52902844 Android开发常用工具类集合 android开发中为了避免重复造轮子, ...

  9. Android 开发常用ADB命令集合

    Android开发常用ADB命令: 1. 安装apk adb install -r apk路径(注:-r表示覆盖) 2. 启动应用 adb shell am start -n package_name ...

最新文章

  1. 52是什么水平_送礼送什么白酒,适合送礼的白酒推荐,看这篇最新白酒送礼指南就行了...
  2. 《程序员修炼之道》读感
  3. 算法导论chapter6 堆排序的代码
  4. 【转】[WSL2]WSL2迁移虚拟磁盘文件ext4.vhdx
  5. 记录一次夏令时和冬令时导致的项目BUG
  6. 使用 Mypy 检查 30 万行 Python 代码,总结出 3 大痛点与 6 个技巧!
  7. 大数据平台架构与原型实现-读书笔记8
  8. 华为研究院19级研究员几年心得终成趣谈网络协议文档
  9. “危化品重大生产安全风险感知通信预警关键技术及应用” 项目通过科技成果鉴定
  10. 安能辨龟是雄雌---巴西龟的雌雄辨别方法
  11. 什么是重绘和重排? 如何去避免?
  12. 用手机GPRS使电脑上网
  13. 《Alogrithms》算法学习笔记——第一章:导语与数论
  14. Spring——IOC底层原理
  15. 基于vue的tiptap编辑器插件(三)
  16. 每日一题【35】解析几何-抛物线的焦点弦长公式
  17. “GANs 之父”Goodfellow亲身传授:深度学习未来的8大方向和入门AI必备的三大技能
  18. 学好英语,学好数学。
  19. 转发: 杜拉拉升职记--读后感 (作者:lucia )
  20. Piwigo照片管理平台的安装与使用总结

热门文章

  1. win11本地用户和组找不到的解决办法
  2. 服务网格——什么是服务网格?(概念原理1)
  3. vue初始安装及项目初启动
  4. idea如何启动vue项目
  5. 关于经典面试一年多少秒的思考!启发#define与UL!整形常量的定义
  6. 入门级蛋白磷酸化研究
  7. Fabric 1.0源代码分析(23)LevelDB(KV数据库)
  8. linux修改 文件 命令
  9. 如何干净彻底的卸载SQL server2008
  10. MySQL学习-存储引擎