- 博客(17)
- 收藏
- 关注
原创 git abandon某条提交导致后续提交无法merge问题
Git提交代码后发现编译无法通过,后面把该条提交abandon掉,结果后续提交编译通过却无法merge,因为后面的commit是基于abandon掉的那条生成的,对于该问题1.解决编译错误的问题2.reset –hard 到abandon的前一条3.cherriy-pick后面无法合并的多条提交...
2018-03-06 16:50:49 12604 4
原创 使用AndroidStudio将矢量图导出xml文件后找不到变量的问题
使用studio将矢量图导出为xml文件,选中需要导出的.psd图片,然后右键new->Vector Asset不过该工具导出的xml文件中含有中文,导致代码中使用资源文件的时候找不到资源文件。解决办法是:例如把“形状8”改为“shape 8”...
2018-03-06 16:43:24 570
原创 在AndroidStudio项目中使用jdk8.0版本编译的jar包报出的52字节码错误
最近在服务器上面编译了自己的classes.jar,然后添加到项目之后出现了错误,说无法转换52版本的字节码,在网上搜了很多关于该问题的解决方法,主要是在app/build.gradile文件中添加几行代码jackOptions { enabled true} compileOptions { sourceCompatibility JavaVersion.VERSION_1_8...
2018-03-06 16:36:23 846
原创 从某个路径读取图片遇到的问题
1.使用固定的路径private StringmFilePath = "/data/user/0/com.tpv.asc.aiapplications/files/image/";那么是可以向该路径写文件的,但是从该路径读取文件,却是空的。改为android获取路径的方法后,则可以读取mFilePath = getFilesDir().getAbsolutePath()+"/image/";虽然...
2018-03-06 11:19:45 305
原创 Android截屏
1.最简单的是使用android sdk命令,这种方法需要系统权限,可以利用系统的签名工具给apk进行签名,然后再安装。String savePath = new File(new File(Environment.getExternalStorageDirectory().getPath()),defaultFileName).getAbsolutePath();try { Run...
2018-03-06 11:11:12 244
原创 如何引用github上面的项目
如果想使用gitbub上某个别人写的库,可以不用再添加.so和jar包,可以直接在app目录下的gradle添加依赖。
2018-03-06 11:03:08 8822
原创 反编译apk查看权限
在sdk的安装目录D:\Android\sdk\build-tools\26.0.0下有aapt.exe工具,该工具可以帮助查看apk的一些相关信息,执行如下命令,D:\Android\sdk\build-tools\26.0.0>aaptdump badging C:\Users\zhenpu.zhang\Desktop\appcloud_oobe_mtc.apk即可查看apk的相关权限。...
2018-03-06 10:58:02 1731
原创 如何获取手机的屏幕尺寸
1.获取手机屏幕的尺寸(包括状态栏)的方法如下。 Point size = new Point();getWindowManager().getDefaultDisplay().getRealSize(size);int w = size.x;int h = size.y;KLog.d(TAG,"width="+ w + "height=" + h); 2.而获取不包含状态栏尺寸的方法是这样的。 ...
2018-03-06 10:55:01 2540
原创 Android framework中资源的定义
1.在向framework中添加自定义的资源文件的时候遇到了以下的问题起初只是按照github上面commit的修改向framework中添加自定义的sysmbols文件smartisanos_symbols.xml文件中找到该sysmbol变量实际上这里只是一个变量的声明,真正的定义在res\res\layout\smartisan_drag_text_popup.xml文件中。所以我们需要把该...
2018-03-06 09:37:02 407
原创 Android绘画与性能提高
Android绘画需要的一些基本元素1.Canvas和Bitmap其实在自定义的View中,我们就已经使用到了Canvas,在重写的onDraw(Canvas canvas)方法中就有一个Canvas对象,它负责对当前的View进行绘制。当然在绘画方面,它拥有更多的方法,去帮助我们去画线、路径、矩形、图片等。Bitmap类中存储了屏幕上具体的像素值,所以我们常用它来存储绘画的数据,Bitmap又可...
2018-03-06 09:26:42 919
原创 Monkey测试与StrictMode
Monkey测试1.Monkey测试的目的Monkey测试是Android平台自动化测试的一种手段,通过Monkey程序模拟用户触摸屏幕、滑动Trackball、按键等操作来对设备上的程序进行压力测试,检测程序多久的时间会发生异常。2.Monkey测试的执行通过adb命令开始执行monkey测试,monkey命令的基本格式为:C:\Users\zhenpu.zhang>adbshell mo...
2018-03-06 09:22:20 310
原创 一种模拟系统返回键的方法
1.通过创建Instrumentation对象来实现,该类中有一个这样的方法onKeyDown(KeyEvent.KEYKODE_BACK,null)2.在AndroidManifest.xml中添加INJECT_EVENTS权限。<users-permission android:name="android.permission.INJECT_EVENTS"/>3.如果还是会报出权限...
2018-03-06 09:19:15 1709
原创 如何卸载手机系统应用
卸载系统应用的前提是手机系统为eng版本,或者可以通过某种方法获取了root权限。1.adb shell2.adb connect ip地址(如果设备和电脑在同一个局域网下,可以通过该命令连接设备)3.adb root 3.mount –oremount /system4.cdsystem/app6.rm xxx...
2018-03-06 09:04:31 3332
原创 Android内存溢出的问题
1.使用adb命令查看设备的内存2.我们可以看出设备虚拟机的内存是256mb,单个进程的最大内存是64mb,一般app占用内存较多最常见的是bitmap,如果在app的中创建的bitmap的类型为ARGB_8888,那么他的一个像素占用的大小为4个字节,1Byte = 8位,所以如果创建的bitmap尺寸为1920*1080那么他占用的大小约为为8MB所以理论上一个应用创建了8幅这样大小的bitm...
2018-03-06 08:55:44 343
原创 View的移动和缩放
移动一个View1.想要移动一个view,我们可以在这个view上(或者它的子控件上)设置一个touchListener,然后在onTouch()方法中添加移动的响应处理。(pipView.findViewById(R.id.pip_move)).setOnTouchListener(new OnTouchListener() { @Override public boolean on...
2018-03-06 08:38:02 2680 1
原创 AndroidStudio sync failed解决方法
Error running All Tests: Gradle projectsync failed. Please fix your project and try again. 怎样解决?首先在网上找到了两周解决办法:方案一:既然提示Gradle了,那么就从这货下手,Gradle到底是个啥? 请戳这儿: 点击打开链接1. File -> Invalidate caches / R...
2018-03-06 08:26:21 35122
翻译 Androdid测试库
测试支持库本文内容1. 测试支持库功能1. AndroidJUnitRunner2. Espresso3. UI Automator2. 测试支持库设置另请参阅1. 测试支持库 API 参考2. 代码示例Android 测试支持库提供了大量用于测试 Android 应用的框架。此库提供了一组 API,让您可以为应用快速构建何运行测试代码,包括...
2018-03-06 08:23:01 408
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人