导航:首页 > 编程语言 > java读取apk

java读取apk

发布时间:2022-05-27 11:39:09

‘壹’ 如何读apk反编译出的java源代码csdn

  1. 打开androidfby中的Android反编译工具,开始直接反编译,选中你要反编译的apk,反编译即可,这样就可以得到软件中图片,xml,dex文件,或者直接用解压文件解压,但是不能保证xml正常显示,所以我们最好是结合一起用

  2. 打开反编译之后的文件夹,找到classes.dex,将其复制到dex2jar的文件夹目录下面,与dex2jar.bat在同一目录即可。打开命令提示符,一直打开到dex2jar目录,执行以下命令dex2jar.bat classes.dex

  3. 这时会在dex2jar目录下生成一个classes_dex2jar.jar文件,这时运行jd-gui目录下的jd-gui.exe,选择File-----》Openfile------》classes_dex2jar.jar,即可查看java代码了

‘贰’ Java移动识别apk文件。

不是太明白,但手机肯定要认识的APK,才可以安装

‘叁’ 需要在java环境下取得apk应用程序名

这个很简单,你需要使用PackageManager,你查看这个类,就知道怎么获取Android手机里所有的应用程序的应用名称了,我的程序在linux里,若你查找了 还没搞定我可以给你一段代码.
// 获取packageManager对象
PackageManager packageManager = this.getPackageManager();
/*getInstalledApplications 返回当前设备上安装的应用包集合
* ApplicationInfo对应着androidManifest.xml中的application标签。通过它可以获取该application对应的信息
*/
List<ApplicationInfo> applicationInfos = packageManager.getInstalledApplications(0);
以上是主要代码
applicationInfos里的是ApplicationInfo类,ApplicationInfo applicationInfo = applicationInfos.get(i);
String packageName = applicationInfo.packageName;// 包名
String packageLabel = packageManager.getApplicationLabel(applicationInfo).toString();
packageLabel 这个就是应用程序名称

‘肆’ java如何根据apk路径读取apk的包名以及版本号

IO流,在程序中根据路径可以找到报名,不过你这个程序部署到真机上就不行了

‘伍’ 在JAVA中怎么解析Android APK啊 例如解析出apkde 名字 引用图片, 能否给一个完整的代码学习下

你是想列出手机里安装的程序和每个程序的icon吧?
我这里倒是有一个这样的demo.

‘陆’ 怎么从apk 中获取r.java里的内容

R.java文件介绍
HelloWorld工程中的R.java文件
package com.android.hellworld;
public final class R {
public static final class attr {
}
public static final class drawable {
public static final int icon=0x7f020000;
}
public static final class layout {
public static final int main=0x7f030000;
}
public static final class string {
public static final int app_name=0x7f040001;
public static final int hello=0x7f040000;
}
}
R.java文件中默认有attr、drawable、layout、string等四个静态内部类,每个静态内部类分别对应着一种资源,如layout静态内部类对应layout中的界面文件,其中每个静态内部类中的静态常量分别定义一条资源标识符,如public static final int main=0x7f030000;对应的是layout目录下的main.xml文件。
由于目前【drawable-*dpi】目录下都只有icon.png一个图片文件,因此此时不同详述的同名的icon.png文件在drawable内部类总只有一个icon属性。如果我们在【drawable-*dpi】目录下再添加一幅图片,则内部类中会自动的添加一个icon属性。
PS:添加资源的命名规则:资源文件只能以小写字母和下划线做首字母,随后的名字中只能出现 [a-z0-9_.] 这些字符,否则R.java文件不会自动更新,并且eclipse会提示错误。
理解了R.java文件中内容的来源,即当开发者在res/目录中任何一个子目录中添加相应类型的文件之后,ADT会在R.java文件中相应的匿名内部类中国自动生成一条静态int类型的常量,对添加的文件进行索引。如果在layout目录下再添加一个新的界面,那么在public static final class layout中也会添加相应的静态int常量。相反当我们在res目录下删除任何一个文件,其在R.java中对应的记录会被ADT自动删除。
R.java文件按除了有自动标示资源的索引功能之外,还有另外一个主要的功能,如果res目录中的某个资源在应用中没有被使用到,在该应用被编译的时候系统就不会把对应的资源编译到该应用的APK包中,这样可以节省Android手机的资源。

如何通过R.java文件来引用到所需要的资源
1.在java程序中引用资源
按照java的语法来引用即:R.resource_type.resource_name
注意:resource_name不需要文件的后缀名
Android系统本身自带了很多的资源,我们也可以进行引用,只是需要再前面加上“Android.”以声明该资源来自Android系统,即:Android.R.resource_type.resouce_name
例:【drawable-*hpi】下的icon.png
该图片在R.java文件的映射为drawable内部类下icon参数,则如果要获取该资源,则写法为:R.drawble.icon
2.在XML文件中引用资源
格式:@[package:]type/name
在xml文件中,如main.xml以及AndroidMainfest.xml文件中通过“@drawable/icon”的方式获取。其中“@”代表的是R.java类。“drawable”代表的是R.java中的静态内部类“drawable”,“/icon”代表静态内部类“drawable”中的静态属性“icon”,而该属性可以指向res目录下的“drawable-*dpi”中的icon.png资源。其他类型的文件也比较类似。凡是在R文件中定义的资源都可以通过“@Static_inner_classes_name/resource_name”的方式获取。如“@id/button”,“@string/app_name”。
如果访问的是Android系统中自带的文件,则要添加包名“Android:”。例如:android:textColor="@android:color/red"
在布局文件中当我们需要为一些组件添加Id属性作为标识,可以使用如下的表达式:“@+id/string_name”,其中“+”表示在R.java的名为id的内部类中国添加一条记录。例:“@+id/button”的含义是在R.java文件中的id这个静态内部类添加一条常量名为button,该常量就是该资源的标识符。如果 id这个静态内部类不存在,则会先生成它。

‘柒’ JAVA手机如何打开apk文件

apk文件是只能谷歌手机才可以打开的
Java是非智能手机
操作系统不同
就不可以打开咯

‘捌’ apk 格式的软件可以安装在Java中吗。

你好,首先你要理解如下内容在Android平台下安装文件的后缀名为.apk,
就和塞班平台安装文件的后缀名为.sis一样,所以我们一般称Android平台下安装文件为APK,
这里介绍几个安装APK软件</a>的方法,可以将APK软件安装到手机里。
首先,需要对手机进行设置如下:
设置——应用程序——勾选"未知源"
设置——应用程序——开发——勾选"USB 调试安装APK软件方法一
需要先下载一个资源管理器软件,可以通过网络在MARKET中下载一个资源管理器,
这里推荐ASTRO通过方法一把资源管理器安装好,之后再安装软件只要把APK的安装文件拷贝到SD卡里,
之后使用资源管理器软件在SD卡下打开 ".APK"的安装文件,直接安装即可.安装APK软件的方法二
设置——应用程序——APK安装器只要把APK程序都放到SD卡上,就可以直接在这个内置的APK安装器
上进行软件的安装与卸载,内置的APK安装器支持程序的批量安装与卸载。
1/ apk文件结构:
Apk文件::
Android application package文件。每个要安装到OPhone平台的应用都要被编译打包为一个单独的文件,后缀名为.apk,其中包含了应用的二进制代码、资源、配置文件等。
apk文件实际是一个zip压缩包,可以通过解压缩工具解开。可以用zip解开*.apk文件,下面是一个helloword的apk示例文件
|– AndroidManifest.xml
|– META-INF
| |– CERT.RSA
| |– CERT.SF
| `– MANIFEST.MF
|– classes.dex
|– res
| |– drawable
| | `– icon.png
| `– layout
| `– main.xml
`– resources.arsc
2/ apk文件解压后反编译:
2.1 图片等多媒体文件:没有编译,无需反编译。
2.2 layout等二进制xml文件:使用AXMLPrinter将其转换为可读的xml文件:java -jar AXMLPrinter2.jar main.xml > new_main.xml
工具下载地址: http://code.google.com/p/android4me/downloads/list
2.3 class文件反编译:
Android模拟器中提供了一个dex文件的反编译工具,dexmp。用法为首先启动Android模拟器,把要查看的dex文件用adb push上传的模拟器中,然后通过adb shell登录,找到要查看的dex文件,执行dexmp xxx.dex。
目前在网上能找到的另一个dex文件的反编译工具是Dedexer。Dedexer可以读取dex格式的文件,生成一种类似于汇编语言的输出。这种输出与jasmin[ ]的输出相似,但包含的是Dalvik的字节码。

2.4 resources.arsc资源文件:参考汉化部分

3/ android 软件汉化
方案1:通过16进制编码软件自行替换英文
1.JDK(Java Development Kit) -开发环境
2.Auto-Sign -签名工具
3.Hex Workshop -十六进制编辑器
4.WinRAR -压缩软件
图文并茂示例: http://bbs.blueshow.net/thread-604533-1-1.html
方案2:通过汉化开发人员自行编写的汉化软件For Android
1.JDK(Java Development Kit) -开发环境
2.Android ResEdit-汉化软件
3.WinRAR -压缩软件

‘玖’ java手机支持apk格式吗什么是apk格式啊!

apk是android(安卓)应用程序的后缀
手机上有java并不支持apk,java支持后缀为jar(jad是个属性文件)
必须有android(安卓)系统!~

‘拾’ 如何通过java,不进行解压就把iso、apk、gz等压缩文件中的文件名读取出来求可行的思路!谢谢!

这个应该是实现不了的

阅读全文

与java读取apk相关的资料

热点内容
单片机代码跳掉 浏览:447
程序员谈薪水压价 浏览:861
荣耀10青春版支持方舟编译啊 浏览:158
最优估计pdf 浏览:826
androiddrawtext字体 浏览:669
c语言源编辑源程序编译 浏览:821
手里捏东西真的可以解压吗 浏览:265
编译原理画状态表 浏览:28
用echo命令产生下列输出 浏览:358
在内网如何访问服务器 浏览:961
java导入oracle数据库 浏览:134
坚朗内开内倒铝条算法 浏览:259
华为阅读新建文件夹 浏览:770
幻塔如何选择服务器 浏览:221
解压先把文件压到系统盘 浏览:822
access压缩和修复数据库 浏览:791
光纤交换机命令 浏览:513
白色桌放什么文件夹 浏览:296
分治算法思想 浏览:151
s曲线加减速算法 浏览:403