- 浏览: 528585 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
c7887qin:
貌似还要使用相同的证书进行签名。。。
Android - 如何将两个/多个应用放到一个进程中去? -
北极光之吻:
天天向上1989 写道不是有OnDoubleTapListen ...
android实现双击事件监听 -
nielong123:
nielong123 写道onCheckedChanged(M ...
Android RadioGroup 换行, 支持多行多列 -
nielong123:
onCheckedChanged(MultiRadioGrou ...
Android RadioGroup 换行, 支持多行多列 -
zk_Ming:
zk_Ming 写道我用了你的,但是radiogroup 点击 ...
Android RadioGroup 换行, 支持多行多列
一:首先必须配置jvm的path,sdk的path(这样运行各种可执行文件时就不必显示的添加可执行文件的路径了,如javac,aapt等)。
vim ~/.bashrc
根据自己软件的安装情况在.bashrc文件的末行添加如下:
export JAVA_HOME=/usr/lib/jvm/default-java:/usr/lib/jvm/java-6-openjdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:JAVA_HOME/lib.tools.jar
export JAVA_HOME CLASSPATH PATH
export PATH=${PATH}:/home/huangqin/android-sdks/platform-tools
export PATH=${PATH}:/home/huangqin/android-sdks/tools
export PATH=~/bin:$PATH
二:进入上层应用的根目录。如:
cd ~/android-sdks/samples/android-15/WiFiDirectDemo
三:使用aapt生成R.java类文件
aapt package -f -m -J gen/ -S res -I ../../../platforms/android-14/android.jar -M AndroidManifest.xml
其中:-f -m -J gen/代表按覆盖的形式在gen目录下生成带包路径的R.java,-S res指定资源文件 ,-I ../../../platforms/android-14/android.jar指定使用的android类,-M AndroidManifest.xml指定程序的配置文件。
四:2使用android SDK提供的aidl.exe把.aidl转成.java文件。
usage: aidl OPTIONS INPUT [OUTPUT]
aidl --preprocess OUTPUT INPUT...
OPTIONS:
-I<DIR> search path for import statements.
-d<FILE> generate dependency file.
-p<FILE> file created by --preprocess to import.
-o<FOLDER> base output folder for generated files.
-b fail when trying to compile a parcelable.
INPUT:
An aidl interface file.
OUTPUT:
The generated interface files.
五:编译.java类文件生成class文件。
javac -encoding GB18030 -target 1.6 -bootclasspath ../../../platforms/android-14/android.jar -d bin src/com/example/android/wifidirect/*.java gen/com/example/android/wifidirect/R.java
其中-target 1.6 为jdk的版本号
附:javac用法
用法:javac <选项> <源文件>
其中,可能的选项包括:
-g 生成所有调试信息
-g:none 不生成任何调试信息
-g:{lines,vars,source} 只生成某些调试信息
-nowarn 不生成任何警告
-verbose 输出有关编译器正在执行的操作的消息
-deprecation 输出使用已过时的 API 的源位置
-classpath <路径> 指定查找用户类文件和注释处理程序的位置
-cp <路径> 指定查找用户类文件和注释处理程序的位置
-sourcepath <路径> 指定查找输入源文件的位置
-bootclasspath <路径> 覆盖引导类文件的位置
-extdirs <目录> 覆盖安装的扩展目录的位置
-endorseddirs <目录> 覆盖签名的标准路径的位置
-proc:{none,only} 控制是否执行注释处理和/或编译。
-processor <class1>[,<class2>,<class3>...]要运行的注释处理程序的名称;绕过默认的搜索进程
-processorpath <路径> 指定查找注释处理程序的位置
-d <目录> 指定存放生成的类文件的位置
-s <目录> 指定存放生成的源文件的位置
-implicit:{none,class} 指定是否为隐式引用文件生成类文件
-encoding <编码> 指定源文件使用的字符编码
-source <版本> 提供与指定版本的源兼容性
-target <版本> 生成特定 VM 版本的类文件
-version 版本信息
-help 输出标准选项的提要
-Akey[=value] 传递给注释处理程序的选项
-X 输出非标准选项的提要
-J<标志> 直接将 <标志> 传递给运行时系统
-Werror Terminate compilation if warnings occur
六:使用android SDK提供的dx.bat命令行脚本生成classes.dex文件。
dx --dex --output=bin/classes.dex bin/classes
其中classes.dex为生成的目标文件,bin/classes为class文件所在目录。
七:使用Android SDK提供的aapt.exe生成资源包文件(包括res、assets、androidmanifest.xml等)
aapt package -f -M AndroidManifest.xml -S res -A assets -I ../../../platforms/android-14/android.jar -F bin/WifiDirectDemo
将AndroidManifest.xml,res和assets文件夹中的资源文件打包生成WifiDirectDemo
八:生成未签名的apk安装文件。
apkbuilder WifiDirectDemo.apk -v -u -z bin/WifiDirectDemo -f bin/classes.dex -rf src/
其中:WifiDirectDemo.apk为生成的apk ,-z bin/WifiDirectDemo为资源包,bin/classes.dex为类文件包
详细信息:
THIS TOOL IS DEPRECATED. See --help for more information.
Packaging WifiDirectDemo.apk
bin/WifiDirectDemo:
=> assets/sample_file.txt
=> res/drawable/details_view.xml
=> res/drawable/machine.png
=> res/drawable/section_header.xml
=> res/layout/device_detail.xml
=> res/layout/device_list.xml
=> res/layout/main.xml
=> res/layout/row_devices.xml
=> res/menu/action_items.xml
=> AndroidManifest.xml
=> resources.arsc
=> res/drawable-hdpi/ic_action_discover.png
=> res/drawable-hdpi/ic_action_on_off.png
=> res/drawable-hdpi/ic_launcher.png
=> res/drawable-hdpi/icon.png
=> res/drawable-ldpi/ic_action_discover.png
=> res/drawable-ldpi/ic_action_on_off.png
=> res/drawable-ldpi/ic_launcher.png
=> res/drawable-ldpi/icon.png
=> res/drawable-mdpi/ic_action_discover.png
=> res/drawable-mdpi/ic_action_on_off.png
=> res/drawable-mdpi/ic_launcher.png
=> res/drawable-mdpi/icon.png
=> res/drawable-xhdpi/ic_action_discover.png
=> res/drawable-xhdpi/ic_action_on_off.png
=> res/drawable-xhdpi/ic_launcher.png
=> res/layout-land/main.xml
=> res/layout-large/main.xml
bin/classes.dex => classes.dex
九:使用jdk的jarsigner对未签名的包进行apk签名。
十:编写共用的.sh文件。
vim ~/.bashrc
根据自己软件的安装情况在.bashrc文件的末行添加如下:
export JAVA_HOME=/usr/lib/jvm/default-java:/usr/lib/jvm/java-6-openjdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:JAVA_HOME/lib.tools.jar
export JAVA_HOME CLASSPATH PATH
export PATH=${PATH}:/home/huangqin/android-sdks/platform-tools
export PATH=${PATH}:/home/huangqin/android-sdks/tools
export PATH=~/bin:$PATH
二:进入上层应用的根目录。如:
cd ~/android-sdks/samples/android-15/WiFiDirectDemo
三:使用aapt生成R.java类文件
aapt package -f -m -J gen/ -S res -I ../../../platforms/android-14/android.jar -M AndroidManifest.xml
其中:-f -m -J gen/代表按覆盖的形式在gen目录下生成带包路径的R.java,-S res指定资源文件 ,-I ../../../platforms/android-14/android.jar指定使用的android类,-M AndroidManifest.xml指定程序的配置文件。
四:2使用android SDK提供的aidl.exe把.aidl转成.java文件。
usage: aidl OPTIONS INPUT [OUTPUT]
aidl --preprocess OUTPUT INPUT...
OPTIONS:
-I<DIR> search path for import statements.
-d<FILE> generate dependency file.
-p<FILE> file created by --preprocess to import.
-o<FOLDER> base output folder for generated files.
-b fail when trying to compile a parcelable.
INPUT:
An aidl interface file.
OUTPUT:
The generated interface files.
五:编译.java类文件生成class文件。
javac -encoding GB18030 -target 1.6 -bootclasspath ../../../platforms/android-14/android.jar -d bin src/com/example/android/wifidirect/*.java gen/com/example/android/wifidirect/R.java
其中-target 1.6 为jdk的版本号
附:javac用法
用法:javac <选项> <源文件>
其中,可能的选项包括:
-g 生成所有调试信息
-g:none 不生成任何调试信息
-g:{lines,vars,source} 只生成某些调试信息
-nowarn 不生成任何警告
-verbose 输出有关编译器正在执行的操作的消息
-deprecation 输出使用已过时的 API 的源位置
-classpath <路径> 指定查找用户类文件和注释处理程序的位置
-cp <路径> 指定查找用户类文件和注释处理程序的位置
-sourcepath <路径> 指定查找输入源文件的位置
-bootclasspath <路径> 覆盖引导类文件的位置
-extdirs <目录> 覆盖安装的扩展目录的位置
-endorseddirs <目录> 覆盖签名的标准路径的位置
-proc:{none,only} 控制是否执行注释处理和/或编译。
-processor <class1>[,<class2>,<class3>...]要运行的注释处理程序的名称;绕过默认的搜索进程
-processorpath <路径> 指定查找注释处理程序的位置
-d <目录> 指定存放生成的类文件的位置
-s <目录> 指定存放生成的源文件的位置
-implicit:{none,class} 指定是否为隐式引用文件生成类文件
-encoding <编码> 指定源文件使用的字符编码
-source <版本> 提供与指定版本的源兼容性
-target <版本> 生成特定 VM 版本的类文件
-version 版本信息
-help 输出标准选项的提要
-Akey[=value] 传递给注释处理程序的选项
-X 输出非标准选项的提要
-J<标志> 直接将 <标志> 传递给运行时系统
-Werror Terminate compilation if warnings occur
六:使用android SDK提供的dx.bat命令行脚本生成classes.dex文件。
dx --dex --output=bin/classes.dex bin/classes
其中classes.dex为生成的目标文件,bin/classes为class文件所在目录。
七:使用Android SDK提供的aapt.exe生成资源包文件(包括res、assets、androidmanifest.xml等)
aapt package -f -M AndroidManifest.xml -S res -A assets -I ../../../platforms/android-14/android.jar -F bin/WifiDirectDemo
将AndroidManifest.xml,res和assets文件夹中的资源文件打包生成WifiDirectDemo
八:生成未签名的apk安装文件。
apkbuilder WifiDirectDemo.apk -v -u -z bin/WifiDirectDemo -f bin/classes.dex -rf src/
其中:WifiDirectDemo.apk为生成的apk ,-z bin/WifiDirectDemo为资源包,bin/classes.dex为类文件包
详细信息:
THIS TOOL IS DEPRECATED. See --help for more information.
Packaging WifiDirectDemo.apk
bin/WifiDirectDemo:
=> assets/sample_file.txt
=> res/drawable/details_view.xml
=> res/drawable/machine.png
=> res/drawable/section_header.xml
=> res/layout/device_detail.xml
=> res/layout/device_list.xml
=> res/layout/main.xml
=> res/layout/row_devices.xml
=> res/menu/action_items.xml
=> AndroidManifest.xml
=> resources.arsc
=> res/drawable-hdpi/ic_action_discover.png
=> res/drawable-hdpi/ic_action_on_off.png
=> res/drawable-hdpi/ic_launcher.png
=> res/drawable-hdpi/icon.png
=> res/drawable-ldpi/ic_action_discover.png
=> res/drawable-ldpi/ic_action_on_off.png
=> res/drawable-ldpi/ic_launcher.png
=> res/drawable-ldpi/icon.png
=> res/drawable-mdpi/ic_action_discover.png
=> res/drawable-mdpi/ic_action_on_off.png
=> res/drawable-mdpi/ic_launcher.png
=> res/drawable-mdpi/icon.png
=> res/drawable-xhdpi/ic_action_discover.png
=> res/drawable-xhdpi/ic_action_on_off.png
=> res/drawable-xhdpi/ic_launcher.png
=> res/layout-land/main.xml
=> res/layout-large/main.xml
bin/classes.dex => classes.dex
九:使用jdk的jarsigner对未签名的包进行apk签名。
十:编写共用的.sh文件。
发表评论
-
Android 修改Android签名证书keystore的密码、别名alias以及别名的密码
2015-04-27 10:35 1251转载请注明出处:http://blog.csdn.net/ ... -
基本HTTP请求回顾
2014-12-24 11:40 932HttpURLConnection为javaAPI提供的一种R ... -
Android签名验证简介
2014-05-16 10:15 5388Android原生自带了个安装器(packages\apps ... -
adb server is out of date. killing...
2014-04-17 10:28 10411:今天调试android的时候发现一个诡异的问题 [htm ... -
Android关闭其他程序
2014-03-21 16:24 15971. restartPackage方法 这个方法在an ... -
正则表达式大全
2014-03-18 17:05 1019正则表达式匹配网址: (https://[\w]*.|http ... -
正则表达式大全
2014-03-18 16:53 0正则表达式匹配网址: (https://[\w]*.|http ... -
jni jstring 、char* 类型的转换
2014-03-06 18:20 850jni jstring 、char* 类型的转换 //jst ... -
ListView GridView禁止点击效果
2014-01-12 01:36 5391listView里的item在点击的时候会变成黄色高亮显示,这 ... -
基于 Android NDK 的学习之旅-----资源释放
2014-01-11 14:37 1138转载于http://www.cnblogs.com ... -
Android RadioGroup 换行, 支持多行多列
2013-11-06 16:06 36943经过反复试验,发现无论你怎么摆弄RadioGroup, ... -
Android RadioGroup 换行, 支持多行多列
2013-11-06 16:05 0经过反复试验,发现无论你怎么摆弄RadioGroup, ... -
Android Gallery子元素无法横向填满屏幕的问题解决
2013-07-26 17:50 1465问题解决方法:你只需要把你的子元素的最外层布局用相对 ... -
Android系统手机端抓包方法
2013-06-25 11:42 1019抓包准备 1. Android手机需要先获得root权限。 ... -
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{
2013-05-29 15:01 1295出现这个问题时,第一步看看manifest.xml是否配置正确 ... -
Android捕获异常
2013-04-03 14:52 1072如果有些异常是运行时异常,你无法捕获,但是又不想让程序 ... -
root卸载系统程序
2013-02-20 10:31 1748大家知道,卸载程序分为两种。一种是普通的应用程序,一种 ... -
JAVA比较器报错:Comparison method violates its general contract
2013-02-05 13:03 13861java.lang.IllegalArgumentExcept ... -
java.lang.IllegalStateException: tried to write 1544 bytes with content-length
2013-01-31 14:57 1424上传文件时,content-length定义的长度小于 ... -
Javadoc生成方法
2013-01-23 14:30 1068方法1:在eclipse中生成 ...
相关推荐
命令行反编译APK包classes.dex
在Android开发过程中,掌握命令行编译、签名和打包APK的方法是十分必要的。下面将详细介绍这个过程: 1. **生成R.java文件** R.java文件是Android编译系统自动生成的,它包含了应用程序资源的ID。使用aapt工具可以...
反编译Apk得到Java源代码是Android应用开发中的一种重要技术,通过使用dex2jar和JD-GUI这两个工具,可以将apk文件反编译成Java源代码。下面是反编译Apk得到Java源代码的详细步骤: 一、使用dex2jar和JD-GUI反编译...
在Android应用开发领域,反编译技术是一种常用的方法,用于理解、分析或修改APK文件中的代码和资源。本文将详细介绍使用"apktool"、"dex2jar"和"jd-gui.exe"这三个工具进行反编译的过程。 首先,我们要了解的是APK...
"一键反编译apk工具"就是这样一种实用工具,它简化了通常繁琐的反编译过程,通过bat命令行脚本实现自动化操作。下面将详细介绍这个工具及其相关知识点。 1. APK 文件结构:APK是Android应用的打包格式,包含.dex...
标题中的“一键反编译apk文件”指的是使用特定的工具或程序来快速、简便地对Android应用程序(APK)进行反编译。APK文件是Android系统中用于分发和安装应用的打包格式,通常包含Java字节码、资源文件(如XML布局、...
本文将深入探讨“Android反编译apk工具包”,并介绍如何使用其中的`decodeapk`工具来解码APK文件,揭示其源代码和资源。 首先,我们需要明白APK是Android应用的安装包,它包含了Java字节码、资源文件(如布局、图片...
使用这两个工具,你可以实现以下步骤来反编译APK: 1. **解压APK**:使用ApkTool_GUI打开APK文件,选择解包选项,工具会自动处理资源文件和.dex文件。 2. **查看源代码**:解包完成后,可以浏览解压出来的目录结构...
在Android源码上编译APK是一个复杂但必要的过程,特别是当你需要开发具有系统权限的应用,例如修改系统时间或实现关机功能。以下是对整个流程的详细解释: 首先,你需要编译Android源码。这通常涉及到获取源码、...
"mac或linux下反编译apk的工具脚本"就是这样一个实用的工具,它整合了dex2jar工具,简化了反编译过程。 首先,我们要了解dex2jar。Dex2jar是一个Java工具,它可以将Dalvik Executable (.dex)文件转换为Java字节码的...
本文将详细讲解如何使用“dex2jar”和“JD-GUI”这两个工具来反编译APK文件。 1. **什么是反编译**: 反编译是将已编译的二进制代码转换回接近原始源代码的过程。在Android世界里,APK中的代码通常被编译为Dalvik ...
它采用先进的静态分析技术,提供了一个图形用户界面 (GUI) 和命令行接口 (CLI),支持批量处理,可以快速高效地反编译 APK 文件。jadx 的主要特点包括: 1. **准确的反编译结果**:jadx 努力保持原始代码的结构和...
### 反编译APK问题解释 在移动应用开发领域,特别是针对Android平台的应用开发过程中,反编译APK是一项非常重要的技能。本篇文章将详细解释反编译APK的核心概念、过程以及所需工具,帮助读者更好地理解并掌握这项...
6. **风险与道德**:尽管反编译APK在某些场景下是有益的,但未经许可对他人应用进行反编译可能侵犯版权,因此应遵循合法和道德的使用原则。 7. **工具介绍**: - **Apktool**:一个流行的APK反编译和打包工具,...
本篇文章将详细探讨如何使用"反编译apk工具",包括jd-gui.exe和dex2jar,这两个关键工具在APK分析中的作用。 首先,让我们了解一下什么是"反编译"。反编译是将已编译的二进制代码(如Java字节码或机器码)转换回源...
本文将详细介绍如何使用"反编译APK.rar"这个压缩包中的工具进行APK的反编译,以及相关知识点。 标题"反编译APK.rar"暗示了这是一个用于反编译Android APK文件的工具包。APK反编译通常是为了查看Java源代码、资源...
本文将详细介绍如何使用“安卓反编译apk,jar转dex,dex转jar,xml转txt,dex转tex,重打包dex,提取dex等操作工具”这一工具集来实现这些目标。 首先,让我们理解一下核心概念: 1. **APK**: Android应用程序的...