- 浏览: 521429 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
c7887qin:
貌似还要使用相同的证书进行签名。。。
Android - 如何将两个/多个应用放到一个进程中去? -
北极光之吻:
天天向上1989 写道不是有OnDoubleTapListen ...
android实现双击事件监听 -
nielong123:
<div class="quote_title ...
Android RadioGroup 换行, 支持多行多列 -
nielong123:
onCheckedChanged(MultiRadioGrou ...
Android RadioGroup 换行, 支持多行多列 -
zk_Ming:
<div class="quote_title ...
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 1152转载请注明出处:http://blog.csdn.net/ ... -
基本HTTP请求回顾
2014-12-24 11:40 893HttpURLConnection为javaAPI提供的一种R ... -
Android签名验证简介
2014-05-16 10:15 5345Android原生自带了个安装器(packages\apps ... -
adb server is out of date. killing...
2014-04-17 10:28 9961:今天调试android的时候发现一个诡异的问题 [htm ... -
Android关闭其他程序
2014-03-21 16:24 15501. restartPackage方法 这个方法在an ... -
正则表达式大全
2014-03-18 17:05 944正则表达式匹配网址: (https://[\w]*.|http ... -
正则表达式大全
2014-03-18 16:53 0正则表达式匹配网址: (https://[\w]*.|http ... -
jni jstring 、char* 类型的转换
2014-03-06 18:20 810jni jstring 、char* 类型的转换 //jst ... -
ListView GridView禁止点击效果
2014-01-12 01:36 5314listView里的item在点击的时候会变成黄色高亮显示,这 ... -
基于 Android NDK 的学习之旅-----资源释放
2014-01-11 14:37 1101转载于http://www.cnblogs.com ... -
Android RadioGroup 换行, 支持多行多列
2013-11-06 16:06 36786经过反复试验,发现无论你怎么摆弄RadioGroup, ... -
Android RadioGroup 换行, 支持多行多列
2013-11-06 16:05 0经过反复试验,发现无论你怎么摆弄RadioGroup, ... -
Android Gallery子元素无法横向填满屏幕的问题解决
2013-07-26 17:50 1423问题解决方法:你只需要把你的子元素的最外层布局用相对 ... -
Android系统手机端抓包方法
2013-06-25 11:42 979抓包准备 1. Android手机需要先获得root权限。 ... -
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{
2013-05-29 15:01 1250出现这个问题时,第一步看看manifest.xml是否配置正确 ... -
Android捕获异常
2013-04-03 14:52 1011如果有些异常是运行时异常,你无法捕获,但是又不想让程序 ... -
root卸载系统程序
2013-02-20 10:31 1674大家知道,卸载程序分为两种。一种是普通的应用程序,一种 ... -
JAVA比较器报错:Comparison method violates its general contract
2013-02-05 13:03 13821java.lang.IllegalArgumentExcept ... -
java.lang.IllegalStateException: tried to write 1544 bytes with content-length
2013-01-31 14:57 1386上传文件时,content-length定义的长度小于 ... -
Javadoc生成方法
2013-01-23 14:30 1033方法1:在eclipse中生成 ...
相关推荐
这里详细的介绍了如何使用命令编译apk 签名 打包,很实用,如果你是Android开发者一定要知道如何编译签名apk
android一键反编译apk工具 bat命令行脚本
反编译Apk得到Java源代码 转载自:http://hi.baidu.com/%CB%BF%D4%B5%CC%EC%CF%C2/blog/item/2284e2debafc541e495403ec.html 工具下载:需用到dex2jar和JD-GUI这2个工具 dex2jar下载地址:...
apk反编译图形界面工具,无需命令行下操作
一、反编译Apk得到Java源代码 首先要使用到下载的这两个工具:dex2jar和JD-GUI,前者是将apk中的classes.dex转化成Jar文件,而JD-GUI是一个反编译工 具,可以直接查看Jar包的源代码。 具体步骤: 首先将apk文件,将...
可用于反编译apk文件以及可以重新编译打包。该版本为1.5.1。 用法:(先命令行cd到apktool.bat目录下) 1、反编译:apktool d xxx.apk xxx 2、重新编译:apktool b xxx 3、重新编译后的apk见于xxx文件夹下的dist目录
一、反编译Apk得到Java源代码 首先要使用到下载的这两个工具:dex2jar和JD-GUI,前者是将apk中的classes.dex转化成Jar文件,而JD-GUI是一个反编译工 具,可以直接查看Jar包的源代码。 具体步骤: 首先将apk文件,将...
该工具可以将apk文件反编译成java源代码。 使用方法: 1.提取apk中的class.dex文件: 比如有apk文件:qq.apk,将其改名为qq.zip,然后解压,可以看到classes.dex。 2.解压"apk反编译工具.zip": 解压后,将classes....
把.apk文件改名为.zip,然后解压缩,得到其中的classes.dex文件,它就是java文件编译再通过dx工具打包成的,所以现在我们就用上述提到的2个工具来逆方向导出java源文件 2.把classes.dex拷贝到dex2jar.bat所在目录。 ...
反编译apk得到其源代码。方法如下 1.首先找到Android软件安装包中的classes.dex 把apk文件改名为.zip,然后解压缩其中的classes.dex文件,它就是java文件编译再通过dx工具打包成的,所以现在我们就用上述提到的2个...
依赖dex2jar工具的反编译脚本文件,能够实现一步反编译的目的,非常方面,只要执行一个命令行就可生成目标jar。
这是一款很方便的apk反编译工具,图形化的操作方式省去了命令行的敲击。
一、apk反编译得到程序的源代码、图片、XML配置、语言资源等文件 下载上述工具中的apktool,解压得到3个文件:aapt.exe,apktool.bat,apktool.jar ,将需要反编译的APK文件放到该目录下, 打开命令行界面(运行-CMD...
首先将apk文件后缀改为zip并解压 得到其中的classes dex 它就是java文件编译再通过dx工具打包而成的 将classes dex复制到dex2jar bat所在目录 dex2jar 0 0 9 9文件夹 在命令行下定位到dex2jar bat所在目录 运行 dex...
上述步骤一、二讲述了命令行反编译apk,现在提供一种图形化反编译工具:Androidfby 首先,下载上述反编译工具包,打开Androidfby目录,双击Android反编译工具.exe,就可以浏览打开要反编译的apk
超好用的傻瓜式apk反编译工具,直接在命令行输入 命令:parseAPK.bat file1.apk 如:命令:parseAPK.bat D:\folder\file.apk D:\folder\file2.apk 即可
1) APKtool软件包 及...这个命令行是使用test证书的例子:java -jar signapk.jar testkey.x509.pem testkey.pk8 YOURAPK.apk YOURAPK_signed.apk YOURAPK_signed.apk就是签完名的apk,去测试一下您重新打包的apk吧。
1.该脚本自动在apk的assets文件夹下添加subChannelID.bin文件,并在文件中写入命令行传入的渠道号,添加过程中不需要反编译apk. 2.该脚本在添加完渠道号后会自动使用命令行传入的签名相关参数进行签名 3.该脚本在...
一、反编译Apk得到Java源代码 首先要使用到下载的这两个工具:dex2jar和JD-GUI,前者是将apk中的classes.dex转化成Jar文件,而JD-GUI是一个反编译工 具,可以直接查看Jar包的源代码。 具体步骤: 首先将apk文件,将...