背景说明 应用需要针对不同的市场集成不同的第三方 SDK ,比如:面向海市场的版本需要集成 google-service apply plugin: 'com.google.gms.google-services' 解决方案 // build.gradle in application module android { productFlavors { googlePlay { } wandoujia { } } } if (getGradle().getStartParameter().get…
转自: http://ticktick.blog.51cto.com/823160/1365947 一般情况下,我们都是使用Eclipse+ADT插件或者Android studio软件来编译Android工程的,其实,Eclipse或者Android studio仅仅是将一些编译命令封装到可视化界面里而已,通过shell脚本.ADT附带的一些命令以及Ant工具,我们完全可以将Android工程的编译过程自动化,直接通过运行脚本就得到最终的APK文件. Linux下用脚本编译c/c++程序至少需…
在上一篇文章当中,我们学习了Android程序反编译方面的知识,包括反编译代码.反编译资源.以及重新打包等内容.通过这些内容我们也能看出来,其实我们的程序并没有那么的安全.可能资源被反编译影响还不是很大,重新打包又由于有签名的保护导致很难被盗版,但代码被反编译就有可能会泄漏核心技术了,因此一款安全性高的程序最起码要做到的一件事就是:对代码进行混淆. 混淆代码并不是让代码无法被反编译,而是将代码中的类.方法.变量等信息进行重命名,把它们改成一些毫无意义的名字.因为对于我们而言可能Cellphone…
1. 首先需要一个OSG for android的环境 (1)NDK 现在Eclipse 对NDK已经相当友好了,已经不需要另外cygwin的参与,具体可以参考 Android NDK开发篇(一):新版NDK环境搭建(免Cygwin,超级快) (2).OSG for android的编译,参考 osg for android学习之一:windows下编译(亲测通过)  建议编译OpenGL ES2版本.   2.然后加载OSG自带的Example:osgAndroidExampleGLES2 (…
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/49738023 之前一直有犹豫过要不要写这篇文章,毕竟去反编译人家的程序并不是什么值得骄傲的事情.不过单纯从技术角度上来讲,掌握反编译功能确实是一项非常有用的技能,可能平常不太会用得到,但是一旦真的需要用到的了,而你却不会的话,那就非常头疼了.另外既然别人可以反编译程序,我们当然有理由应该对程序进行一定程度的保护,因此代码混淆也是我们必须要掌握的一项技术.那么最近的两篇文章我们就围…
Atitit.反编译apk android源码以及防止反编译apk 1.1. Tool  apk逆向助手1 1.2. 二.使用dex2jar + jd-gui 得到apk的java源码1 1.3. 用命令(dex2jar.bat classes.dex)得到一个 jar文件1 2. Apk文件的结构2 1.1. Tool  apk逆向助手 1.2. 二.使用dex2jar + jd-gui 得到apk的java源码 1.用解压工具从 apk包中取出 classes.dex 文件 1.3. 用命令…
出于: androidChina   http://www.androidchina.net/3595.html 学习 Android 至今,大大小小的坑没少踩,庆幸的是,在强大的搜索引擎与无私奉献的人们的帮助下,我遇到的坑都顺利地被填平了. 为了便于日后遇到同样的问题时,能免于再次搜索带来的麻烦,我养成了收藏书签的习惯,随着书签(Tips)的日积月累,我想,是时候该有这个项目了. 如果你是个 Android 新人,那么我希望这份列表,可以成为你踩到坑时的不完全手册. 当然,这份列表一定会有遗漏…
Android之源码之模块编译调试 (一) 进行源码模块修改进行编译的调试 1.首先是从git或者svn上拉一套完整的工程下来,然后全编一下,一般这个时间比较长,大概会得2,3个小时左右, 2,编译成功之后,进到源码的中要修改的模块,例如:package/apps/Contacts/模块下,对要修改的文件进行修改 3.然后在终端Terminal回到项目的根目录下,Android6.0,M的代码,原始的命令是要先source的,如:source xxx.sh xxx_project 4.然后在这个…
Ubuntu 14.04 LTS 下 android 2.3.5 源码编译过程   在新的Ubuntu 64位系统下去编译早期的安卓源码是会出现很多问题的,因为64位系统在安装完成后,很多32位的兼容包是没有安装的, 而早期的安卓是有不少用的32位的开发包.新手往往很难搞清楚其中的问题根源.而且安卓源码的编译又依赖了很多额外的的第三方开发包,所以编译过程会因为缺少这些包导致编译失败.另外一个问题是在新的Ubuntu系统下,因为gcc 和 g++编译器的升级原因,导致早期的代码在新的编译器下发生错…
1: 必要准备 1): jdk&jre 2): adt-bundle 3): android ndk r9 4): python2.7 5): cocos2d-x 3.0 alpha0 2: 依次安装或者解压 3: 添加/扩充环境变量 1): Path: C:\Python27;E:\android-ndk-r9 2): NDK_ROOT: E:\android-ndk-r9 3): NDK_MODULE_PATH: E:\cocos2d-x-3.0alpha0;E:\cocos2d-x-3.0…
原文网址:http://blog.csdn.net/qiuxiaolong007/article/details/7860481 记于正文前:环境是ubuntu10.10,android 源码是2.0的,在第一次编译源码的时候遇到不少问题,第二次一次make通过. 1)可能用到的文件或库全部安装(sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib…
注意:涉及的代码为android内核代码而不是android源码. 在智能手机时代,每个品牌的手机都有自己的个性特点.正是依靠这种与众不同的个性来吸引用户,营造品牌凝聚力和用户忠城度,典型的代表非iphone莫属了.据统计, 截止2011年5月,AppStore的应用软件数量达381062个,位居第一,而Android Market的应用软件数量达294738,紧随AppStore后面,并有望在8月份越过AppStore.随着Android系统逐步扩大市场占有 率,终端设备的多样性亟需更多的移动…
在信安大赛的准备过程中,主要通过 Android Studio 动态调试 apk 反编译出来的 smali 代码的方式来对我们分析的执行流程进行验证.该技巧的主要流程在此记录.以下过程使用 Android Studio 3.0.1 和 smalidea 0.0.5 进行演示. smali动态调试简述 使用 Android Studio 调试 apk 反编译出的 smali 代码,需要 PC 端和移动端的合作.在 PC 端通过 Android Studio 导入反编译出的完整的 smali 代码,…
/********************************************************************************** * 使用Android Studio自带的NDK编译JNI * 说明: * 省得自己另外去下载NDK,编译JNI,麻烦. * * 2017-4-30 深圳 龙华民治樟坑村 曾剑锋 ****************************************************************************…
http://www.jianshu.com/p/aeaceda41798 目录 1.简介 2.官方同步源代码 3.镜像同步源代码 4.已有源代码更新 5.编译源代码 5.1编译Android 4.1.2 5.2编译Android 5.1.1 6.参考 1.简介 之前二次开发Launcher的时候有同步过官方Android 4.1.2的源代码,遗憾当时没有记录下载过程,现在重新温习一下,其实也比较简单. 2.官方同步源代码 官网网址 需要FQ2.1新建一个用于存放下载脚本文件的目录 mkdir…
Android so注入-libinject2 简介.编译.运行 Android so注入-libinject2  如何实现so注入 Android so注入-Libinject 如何实现so注入 Android so注入挂钩-Adbi 框架简介.编译.运行 Android so注入挂钩-Adbi 框架如何实现so注入 Android so注入挂钩-Adbi 框架如何实现so函数挂钩 Android so注入挂钩-Adbi 框架如何实现dalvik函数挂钩 Android dalvik挂钩-Xp…
Android so注入-libinject2 简介.编译.运行 Android so注入-libinject2  如何实现so注入 Android so注入-Libinject 如何实现so注入 Android so注入挂钩-Adbi 框架简介.编译.运行 Android so注入挂钩-Adbi 框架如何实现so注入 Android so注入挂钩-Adbi 框架如何实现so函数挂钩 Android so注入挂钩-Adbi 框架如何实现dalvik函数挂钩 Android dalvik挂钩-Xp…
/************************************************************************* * I.MX6 Android 5.1.1 下载.编译 * 说明: * 这里要提到的就是4.2版本,编译中断了,你接着编好像是没事的,但是这个 * 5.1.1版本貌似就得从头再编,这个有点郁闷. * * 2016-9-9 深圳 南山平山村 曾剑锋 ***************************************************…
Android 方法数超过64k.编译OOM.编译过慢解决方案.   目前将项目中的leancloud的即时通讯改为环信的即时通讯.当引入easeui的时候 出现方法数超过上限的问题. 搜索一下问题,解决方法很简单. 这里简单记录一下,顺序记录一下此解决方案导致的另一个问题. 一.解决方法数超过64k的问题 问题描述: Error:The number of method references in a .dex file cannot exceed 64K. Error:Execution f…
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/50451259 在上一篇文章其中,我们学习了Android程序反编译方面的知识,包括反编译代码.反编译资源.以及又一次打包等内容.通过这些内容我们也能看出来,事实上我们的程序并没有那么的安全.可能资源被反编译影响还不是非常大,又一次打包又由于有签名的保护导致非常难被盗版.但代码被反编译就有可能会泄漏核心技术了,因此一款安全性高的程序最起码要做到的一件事就是:对代码进行混淆. 混淆代…
转自: https://mp.weixin.qq.com/s?__biz=MzAwNDY1ODY2OQ==&mid=208008519&idx=1&sn=278b7793699a654b51588319b15b3013&scene=1&srcid=0928jKlaG1Olshvzs6QGA8ex&key=2877d24f51fa53847e850ce3078aa9536aff68a603e36b39bbd456614ed24eadfff5289941af00…
编译 Luajit 库,的确是一个挑战.因为官网的教程,在当前版本的 Xcode 和 NDK 环境中,已经不适用了.以前只是编译了适用于真机的 Luajit 库.最近在尝试编译模拟器 Luajit 库,就顺便梳理了下 Luajit 库的编译经验,供以后查阅.网上的讨论也是有一些,但是相当一部分都已经过时.或许等你看到这篇文章的时候,可能也只是能获得一些可能的经验来解决自己的编译问题.所以说,了解一些基本的编译知识,能勉强看懂 Luajit 的 make 文件,还是很有必要的.本篇是关于 Luaj…
本文转载自:http://wl9739.github.io/2016/05/09/Android%E6%BA%90%E7%A0%81%E7%9A%84%E4%B8%8B%E8%BD%BD%E3%80%81%E7%BC%96%E8%AF%91%E4%B8%8E%E5%AF%BC%E5%85%A5%E5%88%B0Android-Studio/ 如果只是为了看Android源码的话,有一个很方便的方法,用Android studio打开一个项目,双击shift,然后输入你想查看的类名,比如ListV…
/** * 判断是否是平板 * @param context * @return */ public static boolean isTablet(Context context) { return (context.getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_LARGE; } Ref And…
------------------------------------------打开音频权限------------------------------------------------ if (PackageManager.PERMISSION_GRANTED == ContextCompat. checkSelfPermission(context, android.Manifest.permission.RECORD_AUDIO)) { }else{ //提示用户开户权限音频 Str…
硬件环境:MacBook Pro Retina, 13-inch, Late 2013 处理器  2.4 GHz Intel Core i5 内存  8 GB 1600 MHz DDR3 硬盘60G以上 软件环境:OS X 10.9.2 GNU Make 3.81 Python 2.7.5 XCode 5.0.2 java version "1.7.0_55" repo VERSION = (1, 21) 某收费VPN(代理FAN墙是下载不了的,请使用VPN) (软件版本问题非常可能导…
在Android发展前景相当好的情况下,本人最近搜集了一些关于Android的相关资源,当然包含以前发布的博客内容,进行了一次大整合,希望对和我一样是Android的初学者管用,如在文章中有所错误,敬请大家原谅并欢迎指正. 一.Android相关介绍 Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统,该平台由操作系统.中间件.用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件. 二.开发工具 1.JDK(必需).最好是1.6以上版本. JDK1…
许多联网应用都在开始运行的时候检查当前网络状态,如果没有开启则去开启它,记录一下以前写程序时的网络检查,发现人的记忆力真是有限,总是隔段时间久忘记,所以记录下来是最好的记忆. 我们可以在一开始启动程序的时候检查网络连接状况,如果没有开启则弹出对话框设置网络 首先需要加入权限 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission> <…
适用环境: 系统:ubuntu-12.04.2-desktop-amd64 JDK:sun-java6-jdk Android源码:android_4.1.1_r1 虚拟机安装: VMware Workstation版本:vmware-workstation-full-9.0.2-1031769 安装前请大家切记BIOS的VT功能,不开的话安装Ubuntu 64bit 是不允许的. 我的电脑是HP pro 3380(实习生进来分配的机型) 开启方式:Bios -> Security -> Sy…
修改好之后就要编译了,screencap的编译是要在源码环境中进行的. 将修改后的screencap.cpp文件替换源码中的原始文件,然后修改screencap的Android.mk文件,修改后的文件如下: LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_SRC_FILES:= \ screencap.cpp LOCAL_SHARED_LIBRARIES := \ libcutils \ libutils \ libbinder \…