1.在unity中接了点java代码,导出的apk在手机上只显示hello world这是为
1. unity3d介绍
这是一个跨平台的3维游戏开发引擎,封装程度非常高,使用者完全不用管平台的问题
比如我开发android的应用,只需要导入模型,写模型要怎样旋转即可,至于android、dalvik虚拟机、java,完全用不到。
2. 下载
(1)在官方网站下载名字叫UnitySetup-3.5.3.exe的程序即可
(2)要开发android的,需要下载android的SDK,巨大,具体步骤网上搜索,我的博客好像也有
3. 使用
(1)安装unity,直接打开unity,打开后会默认打开自带的例子,选择文件-新建scene
(2)在里面画模型或导入外部模型,格式为FBX,其他格式没试过
菜单栏的assets表示资源的意思,创建模型要在gameobject里面,创建cube等。
创建完成后,打开hierarchy面版,选中对象,可以在inspector中查看属性,可以调整摄像机的位置,模型的位置
2.android studio什么用
Android Studio 是一个Android开发环境,基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studio 提供了集成的 Android 开发工具用于开发和调试。
以Android Studio HelloWord为演示,如下:
工具:
Android Studio
步骤:
打开Android Studio,点击new project,这里可以为你的android app命名,命名好后点击next;
此处选择你app运行的平台,第一个代表为手机开发,最低版本为android4.0,选择完毕后点击next;
此处选择新建一个什么类型的activity,一般选择blank activity,即默认选项,然后点击next;
此处为你选择的activity命名,命名完之后选择finish;
稍等之后便进入了编辑页面,系统默认为你的启动页面添加了一个textview控件,并显示“helloworld”;
点击菜单栏的三江形按钮,即运行你的app;
模拟器运行呢的app,并显示相应界面;
3.为什么老有人说安装包越大越占内存呢
/data/app/,相当于windows的应用源文件,/data/data/下相当于windows下数据缓存,/data/system/packages.xml相当于windows下注册表。
安装应用时,系统仅仅会把应用的dex文件拷贝一份到data/dalvik-cache下,然后把安装信息写到packages.xml中,如果有so库的话会把lib库拷贝一份到/data/data下,但是找资源还是在/data/app/。为什么不设计应用把资源也拷贝出来,然后删除/data/app里面应用呢?我觉得有以下几个方面,首先应用所在的/data/data目录是可以清除数据的,在settings里面可以操作;其次 应用资源解压势必会造成更大的空间占用,还不如就在apk中,通过解析来读取,而且速度更快;再次 多用户情况下的问题。
再次 因为系统是通过id值找资源,zip包更方便,如果解压出来 有很多问题。当然可能还有很多其他原因。
另外我不清楚你说的“在手机里还另留一份呢?”是什么意思?说明下,data/apk里面是对应用名进行了修改的,主要是为了packages.xml中映射不会出现重名。安装过程中会有临时文件在/data/local/tmp中生成,但是最后是会删除的。
4.Android
1.下载反编译工具
需要下载四个工具:dex2jar、JD-GUI、apktool、apktool-install-windows-r05-ibot
dex2jar:将apk中的classes.dex转化成Jar文件。
JD-GUI:反编译工具,可以直接查看Jar包的源代码。
apktool:反编译工具,通过反编译APK中XML文件,直接可以查看。
apktool-install-windows-r05-ibot:辅助windows批处理工具。
2.解压缩APK包
apk文件也是一种常见的zip,常用的压缩软件就可轻松地解压apk文件。用压缩软件将apk文件中的文件解压到一个文件夹中,得到APK中的资源包括XML文件和classes.dex文件,classes.dex就是java文件编译再通过dx工具打包而成的。
解压截图:
3.反编译dex文件
解压apk文件后,你会发现res目录的图片没有加密,但java源码编译成了一个classes.dex文件,无法用普通的反编译class文件的方法来处理,dex2jar可以将dex文件转换成普通的jar包。
解压下载的dex2jar,把解压后的文件夹放到系统盘跟目录中并把这个目录加到系统path变量中,就可以直接用:dex2jar.bat或dex2jar.sh转换dex文件了。
DOS行命令如下:dex2jar.bat xx\classes.dex(xx是classes.dex文件所在的路径)。
将在同目录得到普通jar包:classes_dex2jar.jar,就可以用处理普通jar包的方法来反编译这个jar包得到原文件。
编译截图:
生成jar文件的截图如下:
4.反编译jar包
得到jar包后,下载自已喜欢的反编译工具,推荐使用JD-GUI,有比较简单的图形界面,可以反编译单个class文件,也可以反编译jar包,比较方便。
打开压缩文件JD-GUI,运行jd-gui.exe,打开上面生成的jar包,即可看到源代码了。
截图如下:
5.反编译xml文件
打开解压的res\layout目录,有很多xml文件,如果你想看下作者是如何设计界面的,你会很失望,因为你看到的是一大堆乱码!这个时候我们需要用到的是apktool。
具体操作方法:将下载的apktool和apktool-install-windows-r05-ibot两个包解压到同一个文件夹下,这个文件夹有三个文件:aapt.exe,apktool.bat,apktool.jar。把这个文件夹也放到系统盘的根目录中并把这个目录加到path变量中。以HelloWord.apk为例:
在DOS命令行中输入:apktool d xx\HelloWord.apk HelloWord得到HelloWord文件夹,此文件夹中的xml文件就是编译好的可以正常查看的文件。
截图如下:
生成的文件:
这样就得到了可以得到编译的源码和XML资源。
注意:文件的路径中最好不要出现中文!
转载请注明出处51数据库 » dalvikhelloword
后来29583661