- 博客(626)
- 资源 (85)
- 收藏
- 关注
原创 解决MainActivity.onCreate(Unknown Source)的混淆错误
将build\outputs\mapping\release\mapping.txt复制到D:\Android\SDK\tools\proguard\bin,然后将崩溃的log.txt也复制到这个目录下,用如下命令,可以查看具体的崩溃点:retrace.bat mapping.txt log.txtview sourceprint?1.retrace.b
2016-09-10 19:26:46 3123
原创 Gradle的安装与使用
下载地址:https://gradle.org/gradle-download/下载后,无需安装,解压即可。然后配置一下系统环境变量:GRADLE_HOME=E:\software\gradle-3.0PATH=%PATH%;%GRADLE_HOME%\bin测试命令(查看版本):gradle -v
2016-08-23 10:22:56 7571 1
原创 JavaScript调用Android代码
参考官方链接:https://developer.android.com/guide/webapps/webview.html1、AndroidManifest.xml加联网权限。uses-permission android:name="android.permission.INTERNET"/><manifest xmlns:android="http://schemas.and
2016-08-22 16:12:55 726
转载 JNIEnv和Dalvik的JavaVM的关系
(1)JNIEnv*内部包含一个Pointer,Pointer指向Dalvik的Java VM对象的Function Table,JNIEnv*关于程序执行环境的众多函数正是来源于Dalvik虚拟机;(2)Android中每当一个Java线程第一次要调用本地C/C++代码时,Dalvik虚拟机实例会为该Java线程产生一个JNIEnv*指针;(3)Java每条线程在和C/C++相互调用时,
2016-08-17 19:25:54 551
转载 Android长连接心跳机制
在写之前,我们首先了解一下,为什么Android维护长连接需要心跳机制,首先我们知道,维护任何一个长连接都需要心跳机制,客户端发送一个心跳给服务器,服务器给客户端一个心跳应答,这样就形成客户端服务器的一次完整的握手,这个握手是让双方都知道他们之间的连接是没有断开,客户端是在线的。如果超过一个时间的阈值,客户端没有收到服务器的应答,或者服务器没有收到客户端的心跳,那么,对客户端来说则断开与服务器的连
2016-08-16 16:16:27 4422 1
原创 安装APK时报“解析错误”
用程序从网上下载一个APK,放在应用的私有目录下(data/data/pkg.name/),用程序安装时,报“解析错误”。Intent intent = new Intent(Intent.ACTION_VIEW);intent.setDataAndType(Uri.fromFile(file), "application/vnd.android.package-archive");
2016-07-26 10:43:43 1295
原创 各种屏幕尺寸,以及Android的系统定义
尺寸 (宽 x 高); 尺寸比例; 简称 (全写)352 x 288; 11:9; CIF(Common Intermediate Format)176 X 144; 11:9; QCIF(Quarter CIF) 功能机曾经很常用128 x 96; 4:3; subQCIF320 x 200; 8:5; CGA(Color Graphics Adapter)640 x 350
2016-07-18 10:23:49 2724 2
原创 将Assets中所有目录和文件,都复制到SD卡中
获取Assets根目录下的所有文件和目录,可以直接用:context.getAssets().list("");获取Assets指定目录的所有文件和目录,可以直接用:context.getAssets().list("subdir");将Assets下所有的目录和文件,都复制到sd卡上,实现起来也简单,示例代码如下: public static boolean copyAsset
2016-07-15 17:07:41 2489 1
原创 用tcpdump抓取Android的网络数据包
1、下载tcpdump地址:http://www.strazzere.com/android/tcpdump2、将它导入到手机adb push d:\tcpdump /data/local/tmp/tcpdump3、修改权限使它可执行adb shellcd /data/local/tmp/chmod 777 tcpdump4、运行tcpdump进行抓包./tcp
2016-07-08 17:17:55 1200 1
转载 代码审查与持续集成(GitLab,Jenkins)
Code Review的意义程序员的世界里,不同的人,不同的背景,不同的工作经历,水平和习惯各异。就像罗卜和白菜,谁都不会嫌弃谁,那是因为他们有不同的标准,而在程序的世界里,由开源社区,有无数前辈根据自己毕生的经验总结出的规律,正逐渐成为程序界的标准,有了标准,谁走歪了,谁走正了,一目了然。中国特殊的国情,导致程序员不受重视,缺乏工程师文化,导致程序员跳槽频
2016-06-16 11:37:07 7243 1
转载 Java中equals和==的区别
Java中的数据类型,可分为两类: 1.基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boolean 他们之间的比较,应用双等号(==),比较的是他们的值。 2.复合数据类型(类) 当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个new出来的对象,他们的比较后的结果为true,否
2016-05-17 18:02:21 529
原创 Waiting For Debugger
$ adb shell am start -n "cn.gaojs.vpn/cn.gaojs.vpn.ui.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHERClient not ready yet..
2016-05-10 14:49:49 4155 1
转载 利用 LeakCanary 来检查 Android 内存泄漏
前言你被概率性的 OOM 困扰么?有时候,OOM 像幽灵一样,挥之不去,可真想把它揪出来时,又捉之不着。或许,是时候用 LeakCanary 来诊断一下了。它是一个用来检查 Android 下内存泄漏的开源库,这篇文章主要介绍其用法、架构和其背后的实现原理。Square 有篇文章介绍了开发这个库的原因。他们的一个付款流程里,需要用到用户的签名,他们直接用 Bitmap 来画签名,B
2016-04-29 17:12:15 633
原创 Could not find class xxx referenced from method xxx.access$super
Android studio编译的apk找不到类04-21 11:25:00.630 26848-26848/cn.gaojs.vpntest E/dalvikvm: Could not find class 'android.os.PersistableBundle', referenced from method cn.gaojs.vpntest.MainActivity.access
2016-04-21 11:26:42 3777 6
原创 iCCP: Not recognizing known sRGB profile
AS问题解决系列—iCCP: Not recognizing known sRGB profile这个结论比较令人信服:利用GIMP工具删除内嵌的profile后问题解决。安装GIMP后,将图片拖放到GIMP界面上,便可打开它。然后,在“文件->Export As...(Shift+Ctrl+E)”,按默认配置“导出”即可!然后,在“文件->全部关闭(Shift+Ctr
2016-04-06 11:18:57 685
原创 Gradle sync failed: Out of memory: PermGen space
Gradle sync failed: Out of memory: PermGen space
2016-04-05 14:51:29 3557 6
原创 constraint check failed: identity '***' required
03-29 19:16:56.979: I/charon(20761): 00[LIB] loaded plugins: androidbridge charon android-log openssl fips-prf random nonce pubkey pkcs1 pkcs8 pem xcbc hmac socket-default eap-identity eap-mschapv2
2016-03-30 15:45:53 3457
转载 Android Interface Definition Language (AIDL)
英文原文:http://developer.android.com/guide/components/aidl.html采集日期:2014-12-31另一位兄弟的早期博文(不准确,供参考):http://www.cnblogs.com/over140/archive/2011/03/08/1976890.html在本文中定义 AIDL 接口创建 .aidl
2016-03-28 17:51:09 485
原创 XmlPullParserException:<vector> tag requires viewportWidth > 0
03-26 15:52:39.317: E/VdcInflateDelegate(25244): Exception while inflating 03-26 15:52:39.317: E/VdcInflateDelegate(25244): org.xmlpull.v1.XmlPullParserException: Binary XML file line #17 tag require
2016-03-26 15:58:33 4715 1
原创 StrongSwan的Jni,编译和混淆时都要注意
android_jnijni\libandroidbridge\android_jni.h#define JNI_PACKAGE org_strongswan_android_logic#define JNI_PACKAGE_STRING "org/strongswan/android/logic"CharonVpnServicejni\libandroidbridge
2016-03-25 09:49:10 1943 3
原创 Failed to add uid rule (Invalid argument)
用StrongSwan,跟服务器建立连接后,从服务端断开连接,有些手机(华为Mate7),会出错:提示连接失败,但系统状态栏仍然有“钥匙”图标,点击可以看到VPN处于连接状态中的对话框,点击断开连接,也没效果。在APP里,再次连接,也会失败。将APP卸载,连接状态的对话框也不会消失;必须重启手机,才能恢复。而有些手机,不会出现这种情况。查看LOG,发现服务器断开时,有如下的错误
2016-03-24 18:05:34 1760
原创 Ubuntu下,编译StrongSwan的Android库文件
官方网址:https://wiki.strongswan.org/projects/strongswan/wiki/AndroidVPNClientBuild1、下载strongswan源码,解压。2、切换到src/frontends/android/app/src/main/jni下,建立链接:ln -s ../../../../../../../ strongswan。3、在目
2016-03-19 18:53:22 4329 2
原创 TortoiseGit disconnected no supported authentication
TortoiseGit报错:Disconnected: No supported authentication methods available(server sent: publickey)因为TortoiseGit和Git的冲突。 改正如下:1、TortoiseGit -> Settings -> Network2、将SSH client设置成 Git\b
2016-03-18 17:50:18 10328 4
原创 Android统计网络流量
统计网络流量,可用ActivityManager或PackageManager获取各个应用的uid,然后再用TrafficStats获取。示例如下: private void printTrafficStat(Context context) { long n = TrafficStats.UNSUPPORTED; long mRxB = Traffi
2016-03-14 19:08:44 1182
原创 用Android Studio编译StrongSwan源码
StrongSwan是一个开源的VPN框架,它支持Android客户端,并且提供了Android客户端的源码,在这里下载。1、打开Android Studio将源码直接导入进来(Import Project (Gradle) 或 Open a existing)。2、修改app/build.gradle,将buildNative和cleanNative注释掉(不重新编译so文件)。3、
2016-03-03 13:46:30 4863 5
原创 Android Studio的常用功能和技巧
File->Settings->Editor->File And Code Template,Include->File Header,设置作者和创建日期。
2016-03-01 16:59:19 697 1
转载 Android资源管理框架(Asset Manager)简要介绍
Android应用程序主要由两部分内容组成:代码和资源。资源主要就是指那些与UI相关的东西,例如UI布局、字符串和图片等。代码和资源分开可以使得应用程序在运行时根据实际需要来组织UI。这样就可使得应用程序只需要编译一次,就可以支持不同的UI布局。这种特性使得应用程序在运行时可以适应不同的屏幕大小和密度,以及不同的国家和语言等。在本文中,我们就简要介绍Android的资源管理框架,以及制定学习计划。
2015-12-30 15:31:51 814
转载 Android Resource介绍和使用
1. 相关文件夹介绍 在Android项目文件夹里面,主要的资源文件是放在res文件夹里面的。assets文件夹是存放不进行编译加工的原生文件,即该文件夹里面的文件不会像xml,java文件被预编译,可以存放一些图片,html,js, css等文件。在后面会介绍如何读取assets文件夹的资源! res文件夹里面的多个文件夹的各自介绍(来自网上的Android开发指南中文版
2015-12-30 14:38:43 658
转载 深入理解java类加载器ClassLoader
类加载器(class loader)用来加载 Java 类到 Java 虚拟机中。一般来说,Java 虚拟机使用 Java 类的方式如下:Java 源程序(.java 文件)在经过 Java 编译器编译之后就被转换成 Java 字节代码(.class 文件)。类加载器负责读取 Java 字节代码,并转换成java.lang.Class类的一个实例。每个这样的实例用来表示一个 Java 类。通过
2015-12-25 11:50:01 1143
转载 APK动态加载框架(DL)解析
载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/39937639 (来自singwhatiwanna的csdn博客)前言好久没有发布新的文章,这次打算发表一下我这几个月的一个核心研究成果:APK动态加载框架(DL)。这段时间我致力于github的开源贡献,开源了2个比较有用且有意义的项目,一个是PinnedHeade
2015-12-18 18:09:44 615 1
转载 Android apk动态加载机制的研究(二)
转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/23387079 (来自singwhatiwanna的csdn博客)前言为了更好地阅读本文,你需要先阅读Android apk动态加载机制的研究这篇文章,在此文中,博主分析了Android中apk的动态加载机制,并在文章的最后指出需要解决的两个复杂问题:资源的访问
2015-12-18 17:15:17 551
转载 Android apk动态加载机制的研究
转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/22597587 (来自singwhatiwanna的csdn博客)背景问题是这样的:我们知道,apk必须安装才能运行,如果不安装要是也能运行该多好啊,事实上,这不是完全不可能的,尽管它比较难实现。在理论层面上,我们可以通过一个宿主程序来运行一些未安装的apk,当然,
2015-12-18 15:23:07 580
转载 [Android] Activity configChanges属性
通过设置这个属性可以使Activity捕捉设备状态变化,以下是可以被识别的内容: 设置方法:将下列字段用“|”符号分隔开,例如:“locale|navigation|orientation”ValueDescription“mcc“The IMSI mobile country code (MCC) has changed — that is, a
2015-12-18 10:52:46 564 1
转载 Android Support包里究竟有什么
首先,你需要了解每一个 Support 包版本后缀 vX 所代表的含义。当然诸位都一定知道 Android 对于每一个版本都有一个版本号,例如1.6是4,2.1是7,3.2是13,4.0是14,4.4是19,6.0是23。而这里,v 之后的数字,就代表着它能够被使用的最低版本等级,之所以无法在更低版本进行使用的原因,是因为随着版本的升级,在新版本中有很多之前不支持的特性或者 API,因此如果你
2015-12-18 09:39:15 831
转载 Context与Activity/Service/Application
在android中我们经常遇到这样的情况,在创建一个对象的时候,往往需要传递一个this参数,比如:语句 MyView mView = new MyView(this),要求传递一个this参数,这个this究竟指的是什么东西呢?其实这里的this指的就是当前的Activity.this,是这个语句所在的Activity的this。Activity.this取的是这个Activity的Contex
2015-12-16 16:41:47 2234 1
转载 Android开发实践:使用Service还是Thread
Service是Android的四大组件之一,被用来执行长时间的后台任务,同样,线程也可以实现在后台执行任务,它们的区别在哪呢?何时使用Service何时使用Thread呢?今天我也来说说我的理解和总结。首先,需要了解Service的几个特点。(1) 默认情况下,Service其实是运行在主线程中的,如果需要执行复杂耗时的操作,必须在Service中再创建一个Thread来执行任务
2015-12-15 16:23:16 710
翻译 WindowManager.LayoutParams
本文参照自:http://developer.android.com/reference/android/view/WindowManager.LayoutParams.htmlandroid.view.WindowManager.LayoutParams extends android.view.ViewGroup.LayoutParamsWindowManager.LayoutPara
2015-12-09 13:52:31 750 2
商用车控制系统局域网络(CAN)通信协议(征求意见稿)
2013-09-17
UCGUI中文手册
2013-09-12
STM32参考资料
2013-09-09
冒泡手机助手(V2.247)
2013-09-03
Freescale lin总线学习
2013-09-02
SEC_Exynos4412_Users Manual_Ver.1.00.00.pdf
2013-09-02
Exynos4412 User Manual (Public) version 1.0
2013-08-30
UART转CAN或LIN的工具(Uart2any)和文档
2013-08-27
LIN总线资料
2013-08-26
CES-4412P开发平台V1.0
2013-08-23
Development.apk(Android Dev Tools)
2013-08-21
PL2303HXDSimpleTest.rar
2013-08-13
冒泡手机助手(V2.198
2013-08-09
CSM100文档资料
2013-08-08
Android开发精要(完整扫描版)
2013-08-05
TFS-M74高级半导体指纹开发模块用户手册(2013)
2013-08-02
python-3.6.4-amd64.exe
2018-04-10
Android工具(aimsi.apk)v1.1
2015-04-14
Android工具(aimsi.apk)
2015-04-08
Android小工具(aimsi.apk)
2015-04-08
MyBatis-3-User-Guide用户手册(中文英文)
2014-06-19
poi-3.10-FINAL-20140208.zip
2014-06-12
spring-framework-3.2.8.RELEASE-dist.zip
2014-04-09
servlet-api-2.5.jar 以及文档
2014-04-03
随变锁屏(Android应用)
2014-02-18
MySQL5.5中文参考手册.pdf
2014-01-21
JavaWeb技术整合应用与项目实战(光盘)完整下载
2013-12-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人