几天前去物管交物业费,物管工作人员说小区引进高新产品,使用银行卡消费后,不需要拿笔在银联机上签名,直接用手指触摸实现消费签名,当时心想,果然是高科技,机子外形如下左图,签名如下右图.         仔细一看,其实就是一个触摸屏,用户在上面直接手动签名,实现这个功能其实并不复杂,我们自定义一个控件,继承view,使用Canvas的drawLine,drawPoint这两个方法来实现这个功能. 首先自定义控件MDrawLineView package com.view; import androi…
在生成release build时可实现自动签名,所谓手动签名,就是在命令行下完成签名,落实到Android Studio里面,就是在terminal里面做. 下面是三个命令,第一个签名,第二个验证,第三个对齐压缩. 第三个命令可能会找不到zipalign这个命令,那么可以切换到zipalign所在的目录进行操作.一般在build tools目录,20以上的版本都有这个命令. jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keys…
记录手动签名APK的过程 前两天更新了华为平台上的APK,被驳回,原因是新APK签名和老的APK不一致,老用户安装会失败,用命令行安装会报如下的错误: harlanc@harlancdeMacBook-Pro ~/g/p/bin> adb install -r test.apk adb: failed to install test.apk: Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE: Package com.companyname.appname…
我们使用Android Studio 运行我们的app,无非两种模式:debug和release模式. debug模式 debug模式使用一个默认的debug.keystore进行签名. 这个默认签名(keystore)是不需要密码的,它的默认位置在C:\Users\<用户名>\.Android\debug.keystore,如果不存在Android studio会自动创建它. 例如我的debug.keystore就在C:\Users\Administrator\.android\debug.…
Android Camera2采集摄像头原始数据并手动预览 最近研究了一下android摄像头开发相关的技术,也看了Google提供的Camera2Basic调用示例,以及网上一部分代码,但都是在TextureView等预览基础上实现,而我想要做的是在不预览的情况下,能获取到摄像头原始数据流,并由自己来决定是否绘制显示.经过一番折腾,初步实现了自己的目的--CamCap程序. 需求分析   其实主要就是在不预览的情况下获取到摄像头原始数据,目的嘛,一是为了灵活性,方便随时开启关闭预览,二是为了以…
最近在使用kafka,过程中遇到了一些疑问,在查阅了一些资料和相关blog之后,关于手动提交offset的问题,做一下总结和记录. 消费端手动提交offset代码如下: /** * 这是手动提交的消费方式 * @param record * @param ack * @throws Exception */ @KafkaListener(topics = TopicConstants.COMMON_PAY,groupId = "写自己的消费组 id") public void list…
深入:Android Touch事件传递机制全面解析(从WMS到View树) 通俗理解Android事件分发与消费机制 说起Android滑动冲突,是个很常见的场景,比如SliddingMenu与ListView的嵌套,要解决滑动冲突,不得不提及到View的事件分发机制. Touch事件传递规则分析首先,我们要知道Touch事件是包装在MotionEvent对象中的,在手指与屏幕接触过程中产生一系列事件,典型的事件有以下三种:ACTION_DOWN:手指刚接触屏幕的瞬间 ACTION_MOVE:…
Ubuntu 12.04 64bit 配置完android 5.0编译环境后出现“could not write bytes: Broken pipe.”而无法进入输入帐号密码的登陆界面.上网问了问百度最后发现很可能是自己配置android 5.0编译环境的时候把libgl1-mesa-glx:i386改成libgl1-mesa-dri:i386造成.最后的解决办法是: 1. 开机按“Ctrl + Alt + F1”,进入命令行模式,并登录.2. 输入ls,发现环境变量没有问题.(若环境变量有问…
android开发之Intent.setFlags()_让Android点击通知栏信息后返回正在运行的程序     在应用里使用了后台服务,并且在通知栏推送了消息,希望点击这个消息回到activity, 结果总是存在好几个同样的activity,就算要返回的activity正在前台,点击消息后也会重新打开一个一样的activity,返回好几次才能退出, 而不能像qq之类的点击通知栏消息回到之前存在的activity,如果存在就不再新建一个activity 说的有点绕,如果是遇到此类问题的肯定能懂…
手动签名:需要手动生成p12文件(私钥),然后将对应的公钥上传到开发者网站,生成证书,进一步生成对应的描述文件,然后在xcode中手动指定描述文件,这个描述文件中包含与本地p12文件对应的证书. 自动签名:xcode自动帮你生成p12文件(私钥),然后去开发者网站找包含对应的证书(公钥)的描述文件,如果找到了则直接下载下来,如果没有找到则重新创建一个包含对应的证书(公钥)的描述文件,当然每个描述文件包含的证书数量是有限制的,当达到证书最大限制时xcode会提示你无法创建新的描述文件,需要revo…
1.我们平时手机拍的照片,传到电脑后,使用Photoshop或者其它图片浏览工具打开时,发现图片是被转过的.可是Windows上预览却是正的.其实原因是部分Android或IOS手机拍照后,将图片角度信息存到了Exif信息中.我们只需要读取出来,再做相应的重绘,即可. 2.代码送上. class ImageNormal { public void NormalImageDegree(string imagePath) { var bitmap = (Bitmap)Bitmap.FromFile(…
完美解决 Android WebView 文本框获取焦点后自动放大问题 前几天在写一个项目时,要求在项目中嵌入一个WebView 本来很快就完成了,测试也没有问题.但发给新加坡时,他们测试都会出现文本框聚焦时,网页面会放大(他们用三星手机测试的) 网上查了好久参考他的方法加上去测试 http://www.cppblog.com/guojingjia2006/archive/2012/12/18/196429.html 下面我将原文copy过来 **************************…
我因为项目中集成了极光推送,推送的通知栏点开需要确定进入哪个界面就参考了这边文章,感谢作者的无私. 标签: 情况简述 在开发Android app的过程中,遇到这样一个需求:app中启动一个Service,该Service在独立进程中运行,与服务器保持长连接,将服务器推送过来的消息在通知栏中显示,并设置点击动作,点击后跳转到app中对应的Activity.目前遇到的问题是Service以独立进程运行,在收到消息并弹出通知后,app本身的进程有两种情况: app正在运行 app已退出 对于第一种情…
刚刚花了一点时间,将导航界面3.4的布局和相应的跳转逻辑写了一下: Setup3Activity代码如下: /** * Created by wuyudong on 2016/10/10. */ public class Setup3Activity extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setCont…
DISCUZ站点DIY后.导致DIY功能失效,无法在前台删除已创建的DIY功能解决的方法.这是一个常常会遇到的问题.在程序调试过程中常常的会遇到这种问题.这里提供一个自己常常使用的解决的方法,供遇到这个问题的朋友一块用 找到表 pre_common_block 然后找到你加入的DIY的标识ID(这是你调试的时候出错的,相信对这个标识记得非常清楚吧) 找到对就的数据 删除这一行就能够了~ 没什么概念.就是直接删除数据库…
前文 介绍了在Windows平台利用强大的APK-Multi-Tool进行反编译apk,修改smali源码后再回编译成apk的流程,最近受人之托,破解个apk,所幸的是所用到的这三个软件都是跨平台的,mac上也妥妥的.这里记录下在mac上所用的东西和流程. 总共需要三个软件,为了便于找到最新的版本,把官网也放后面: Apktool:http://ibotpeaches.github.io/Apktool/install/ 最新版本2.0.1 dex2jar: https://github.com…
问题:在用re-sign.jar重签名apk文件后,显示重签名成功,但在实际安装过程中确提示:Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES] 原因:网上查找了下是重签名时出错了. 解决方法:使用命令行重签名,如: 1.生成重签名文件debug.store D:\>keytool -genkey -keyalg RSA -keystore debug.store -alias debug -keysize 2048 -validity 365 2.关联…
首先,如果没有签名密钥,先生成密钥: keytool -genkey -alias android.keystore -keyalg RSA -validity 20000 -keystore android.keystore 会一路提示你输入密码.签名信息等等,随意输入. 我这里的用户名和密码都是android 然后签名 jarsigner -keystore android.keystore -storepass android -keypass android XXX.apk androi…
转载:http://www.cnblogs.com/tianguook/archive/2012/09/27/2705724.html 生成apk最懒惰的方法是:只要你运行过android项目,到工作目录的bin文件夹下就能找到与项目同名的apk文件,这种apk默认是已经使用debug用户签名的. 如果想要自己给apk签名: 1.签名的意义 为了保证每个应用程序开发商合法ID,防止部分开放商可能通过使用相同的Package Name来混淆替换已经安装的程序,我们需要对我们发布的APK文件进行唯一…
转自:http://xdang.org/post-602.html 以下原文: 反编译 — 在apk文件中能得到什么 最近在做android客户端与服务器安全通信,有一种常见的不安全因素:很多软件常常会被人从apk文件中获取到下载地址或帐户信息.一个打包成apk的软件,通过反编译可以获得哪些信息呢?下面我们来动手反编译一个简单的demo--HelloWorld. 将生成的HelloWorld.apk使用压缩软件打开,看到下面几个文件/目录 META-INF res AndroidManifest…
前言 去年公司内一个应用加了支付宝支付功能,为了保证安全,支付请求链接写成了https. 由于公司服务器使用的是的自签名证书,而在Android系统中自己签署的不能通过验证的,所以会抛出错误. 于是我网上查找了很多资料,也尝试过几种方法,过程都很繁琐,搞了一通宵都不行. 幸亏通过一个朋友找到了以下这个简便的开源库 https://github.com/lizhangqu/CoreUtil 然后用里面的SSLUtil,10分钟就解决了. 实现自签名SSL证书 1.访问以上开源库网址下载SSLUti…
有些库的使用条件比较苛刻,要求同一签名的程序才可以获得访问权.此时即便是在AndroidManifest.xml中添加了相应的permission,依旧会得到没有xx访问权限的问题.比如android.permission.ACCESS_SURFACE_FLINGER . 第一个方法简单点,不过需要在Android系统源码的环境下用make来编译: 1. 在应用程序的AndroidManifest.xml中的manifest节点中加入android:sharedUserId="android.u…
一.Android应用的基本组件介绍  Activity和View :Activity只能通过setContentView(View)来显示指定的组件.View组件是所有UI控件.容器控件的基类,View组件就是Android应用中用户实实在在看到的部分.但View组件需要放到容器组件中,或者使用Activity将它显示出来.如果需要通过某个Activity把指定View组件显示出来,调用Activity的setContentView()方法即可.setContenView()方法可接受一个Vi…
一:需求简介 之前boss提出一个需求,运行在广告机上的app,需要完成自动升级的功能,广告机是非触摸屏的,不能通过手动点击,所以app必须做到自动下载,自动安装升级,并且安装完成后,app还要继续运行,最好不借助其它app来实现以上功能. 二:实现思路 实现这个功能第一个想到的方法就是静默安装,由于广告机已经root,静默安装比较顺利,安装app的主要代码如下: /* @pararm apkPath 等待安装的app全路径,如:/sdcard/app/app.apk **/private st…
http://bbs.gfan.com/android-6934570-1-1.html   步骤如下: 1. 下载Android系统文件,打开官方地址:https://developers.google.com/android/nexus/images#nakasi 找到对应系统,点击Link按钮下载,上为wifi版,下为3G. 以4.3为例,下载下来后是一个nakasi-jwr66y….tar文件,先解压出来单个文件,再继续解压直到发现boot.img, recovery.img,syste…
电脑蓝屏重启后,studio无法认出Android环境 setup JDK 问题重现:因为工作问题,需要用到模拟器,然后创建了模拟器后开启了漫长的等待之旅,两三分钟之后win8蓝屏,重启,再次打开,依旧蓝屏,遂不折腾模拟器,但是进入Android studio后打开任何一个文件,发现凡是需要improt Android....   import java等等的全都找不到 问题描述 : 凡是需要improt Android....   import java等等的全都找不到 : 手动导入包,提示 …
原文链接:http://www.cnblogs.com/sunzn/archive/2013/05/10/3064129.html Android 中与 Touch 事件相关的方法包括:dispatchTouchEvent(MotionEvent ev).onInterceptTouchEvent(MotionEvent ev).onTouchEvent(MotionEvent ev):能够响应这些方法的控件包括:ViewGroup.View.Activity.方法与控件的对应关系如下表所示:…
本文具体介绍了怎样反编译一个未被混淆过的Android APK,改动smali字节码后,再回编译成APK并更新签名,使之可正常安装.破译后的apk不管输入什么样的username和password都能够成功进入到第二个Activity. 有时难免要反编译一个APK.改动当中的若干关键推断点,然后再回编译成一个全新的可用的apk,这全然是可实现的. 若要完毕上述工作,须要以下工具,杂家后面会把下载链接也附上.这些软件截止本文公布时,经过杂家确认都是最新的版本号. 1.APK-Multi-Toolv…
转:http://www.cnblogs.com/tianguook/archive/2012/09/27/2705724.html 生成apk最懒惰的方法是:只要你运行过android项目,到工作目录的bin文件夹下就能找到与项目同名的apk文件,这种apk默认是已经使用debug用户签名的. 如果想要自己给apk签名: 1.签名的意义 为了保证每个应用程序开发商合法ID,防止部分开放商可能通过使用相同的Package Name来混淆替换已经安装的程序,我们需要对我们发布的APK文件进行唯一签…
大致问题是 放一个LinearLayout ID @+id/layout ,然后在它上面放一个button 设置android:layout_above="@id/layout" 理论上就表示LinearLayout是位于Buttons的下方,原本以为这样就大功告成了,没想到却得到一个莫名其妙的编译错误: error: Error: No resource found that matches the given name (at 'layout_above' with value '…