① 怎样快速理清一个android工程
确实没有发现好的工具,我说下我个人的意见吧,其实这个得根据个人的实际情况来看。
首先,你需要理解你们的项目需求,也即是你们的项目需要干啥,有哪些功能,这个需要看项目的需求文档。不过,有的公司,这个环节可能没文档,故只能做第二步了,如果没有功能文档需求,原型图,高保真总有吧,这个一定要看看,起码心里得有谱,这个项目到底到底会做成啥样。
然后,你就需要了解这个项目的功能模块划分了。项目有几个功能模块,前面的开发人员是如何划分,找前面的coder问下,这个时候还是先别看代码,不要太急,最好自己理个列表出来,然后再看下他们在每个模块下包含了哪些功能,这个需要多问前面的coder。
接着,要做的是,项目的是怎么组织的,这个时候,你可以开始关注代码了。你需要了解项目中层次是怎么划分的,各个层次间是怎么交互组织在一起,一般而言,我们需要关注下面几个层次:
1、网络层,即项目的网络层是怎么组织的,如何发起网络访问的。如果你需要做的功能较多,就有必要顺带看下他们的服务器接口文档。
2、数据库层,也即项目的数据库这块,有几张表,怎么执行增删改查等操作的。
3、项目中的实体模型有哪些,数据结构是如何组织的。
4、项目的视图层是如何和网络层、数据库层结合的,也即activity或fragement中如何调用网络和数据库,如何进行数据的处理的。简单说,就是数据是如何处理的,怎么来、到那里去。
下一步,就是开始理清他们的coder中,哪些类对应了哪些模块的哪些功能,一般是以包为单位或者通过命名区分的,这个时候,有必要了解下他们的编码规范和命名规则了,应该通过文件和资源的名称,很多时候,很好理清代码。这个时候,最好关注下他们有哪些基本的基类,你后面能直接用到的功能有哪些是他们已经写过了,或者可以直接从基类继承的。
经过上面的步骤后,我觉得,这个项目也差不多能理个头绪了,接着,你就可以尝试着写点或修改些功能了,可以先模仿别人的,然后再尝试着自己写写
② 如何在一个android工程中调用另一个android工程的代码和资源啊
现在已经有了一个Android工程A。我们想扩展A的功能,但是不想在A的基础上做开发,于是新建了另外一个Android工程B,想在B中引用A。
1. 把工程A做成纯Jar包,这样其他的工程就可以直接引用了。
但是,如果在工程A中用了R.java中的引用,则无法打成jar包了。原因是R.java是自动生成的,是动态的,每次编译都是不相同的。如果一定要做成jar包,就不能使用自动生成的R文件,用到资源时候就要写代码去获取。
有时会报错:Conversion to Dalvik format failed with error 1
可能是多层包文件重复导入,冲突。。。
这时可以试试方法2
2.将工程A做成android library project。
设置工程A,右键->Properties->Android,将Is library项选中,然后Apply。设置工程B,右键->Properties->Android,在Library中,点击Add按钮,将A工程加入,然后Apply。此时在B中就引入了A中的资源和代码,这些资源和代码都可以直接调用。需要注意的是,因为A已经不再是一个完整的Android应用,而是一个类库工程,所以有一些内容还需要在B中配置一下。比如A中有lib库引用,则B中也要加入该lib库;比如A中的AndroidManifest.xml文件的内容,在B的AndroidManifest.xml文件中也要相应加上。。。
如果不需要引用A工程的资源文件,同样只需得到jar文件,
设置工程A,右键->Properties->Android,将Is library项选中,然后Apply。在A工程的bin目录下能得到一个jar文件,可以到B工程中的libs目录下直接引用。
如果能用jar当然最好,但是jar文件不能把res目录下的资源打包进去,所以才出现lib工程。
创建和使用Android library工程
摘要: 创建library供多个工程共享代码、资源是非常常见的需求,网上这种资料非常少,基本上都是讲创建java工程,然后export,这种方式缺点非常多,大家可以自己google一下。本文着重介绍如何创建Android library,并且在 ...
创建library供多个工程共享代码、资源是非常常见的需求,网上这种资料非常少,基本上都是讲创建java工程,然后export,这种方式缺点非常多,大家可以自己google一下。
本文着重介绍如何创建Android library,并且在工程中使用此library提供的资源,具体步骤如下:
1. 创建一个Android工程,命名为MyLib
2. 进入工程设置选中Is Library
3. 创建另一个Android工程,命名为MyProj
4. 进入工程设置,添加MyLib
5. 在MyProj的AndroidManifest.xml中加入对library中activity的引用
<activity android:name="net.devdiv.mylib.MyLib" />
6. 由于编译后library中的资源和引用它的project资源是合并在一起的,为了避免重名问题,需要对library中资源进行重命名
1). 把main.xml改为mylib.xml,同时修改MyLib.java代码setContentView(R.layout.mylib);
2). strings.xml修改为
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="mylibhello">String fetched from lib!</string>
<string name="mylib_app_name">MyLib</string>
</resources>
7. 在MyProj中引用MyLib的资源
package net.devdiv.myproj;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
import net.devdiv.mylib.*;
import android.content.Intent;
public class MyProj extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TextView tv = (TextView)findViewById(R.id.myprojtext);
tv.setText(R.string.mylibhello);
Intent it = new Intent(this, MyLib.class);
startActivity(it);
}
}
③ apk文件怎么转化android工程文件!
APK是AndroidPackage的缩写,即Android安装包(apk)。APK是类似Symbian Sis或Sisx的文件格式。通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。apk文件和sis一样,把android sdk编译的工程打包成一个安装程序文件,格式为apk。
apk反编译就是通过使用apk编译工具将apk文件中的源文件和资源反编译出来,得到的源文件和资源文件可以进行处理后再进行编译,以达到个性化定制,汉化apk等目的。[1]
apk反编译工具
1、最典型的apk编译工具的核心是apktool,但是因为操作需要调用cmd命令,所以出现了很多具有可视化界面的各种编译工具,像easyapk,apkdb,doapk
2、dex2jar.jar,将apk中的classes.dex转化成Jar文件,再通过jd-gui工具反编译jar文件。
apk编译方法
使用apkdb编译apk文件只需要在安装apkdb后直接右击反编译就可以将apk文件反编译出来
1、使用原生apktool工具,需要将apktool的两个文件释放到window目录下,在cmd中使用 apktool d apk文件名 命令来编译apk文件,此时命令行的执行目录与apk文件所在目录必须一致。
2、首先将apk文件,将后缀改为zip,解压,得到其中的classes.dex,它就是java文件编译再通过dx工具打包而成的;将classes.dex复制到dex2jar.bat所在目录。在命令行下定位到dex2jar.bat所在目录,运行 dex2jar.bat classes.dex。
④ 如何一个android工程作为另外一个android工程的lib
在实际使用中,我们可能会把一个android工程作为库,然后在另外一个android的工程中引用。实现的步骤如下: 1.将android工程设为库 选择工程右击选择“property”-Android选项下的library勾选“Is Library”。 2.在当前工程引用上面的工程的库 在当前工程目录下的文件“project.properties”里添加: android.library.reference.1=..\\xxx(工程目录) 这样就可以使用库工程的代码及资源的。 验证是否可以正常引用:可以到“property”-Android选项选项下的library有Reference中显示你所引用到的工程。
⑤ jar包能直接用到android工程上吗
不能,android使用的dex/odex包和jar包格式不同,不能兼容。
⑥ android工程文件如何打开
希望对你有帮助!Eclipse>file>AndroidProject>Next>CreateProjectexistingsource>选择你的项目.
⑦ android studio怎么运行安卓工程
一、修改Android Studio(以下简称AS)的内存配置
因为在导入源码时需要消耗大量内存,所以先修改IDEA_HOME/bin/studio64.vmoptions(x86的机器修改studio.vmoptions)中-Xms和-Xmx的值。文档中使用的是748m, 可自行修改。
二、配置AS的JDK、SDK
在IDE中添加一个没有classpath的JDK, 这样可以确保使用源码里的库文件
并将其作为要使用的SDK的Java SDK。
三、生成导入AS所需配置文件(*.ipr)
①编译源码(为了确保生成了.java文件,如R.java;如果编译过,则无需再次编译)
②检查out/host/linux-x86/framework/目录下是否有idegen.jar
如果idegen.jar不存在,执行:
mmm development/tools/idegen/
在5.0.1的源码中会生成res.java的文件夹,导致idegen.jar运行时抛FileNotFoundException,这是idegen的代码不够严谨造成的。
我的分享里有修改这个bug的patch,或者直接使用我分享的idegen.jar。
③执行
development/tools/idegen/idegen.sh
等待出现类似下面的结果:
Read excludes: 5ms
Traversed tree: 44078ms
这时会在源码的根目录下生成android.ipr和android.iml两个IntelliJ IDEA(AS是基于IntelliJ IDEA社区版开发的)的配置文件
Tips:
AS在导入代码时比较慢,建议先修改android.iml,将自己用不到的代码exclude出去.可以仿照过滤.repo文件夹的语法,如:
<excludeFolder url="file://$MODULE_DIR$/.repo" />
<excludeFolder url="file://$MODULE_DIR$/abi" />
<excludeFolder url="file://$MODULE_DIR$/art" />
删除掉所有不需要的mole-library项 PS:感谢 @dezng 的建议
这样在导入时就会跳过abi和art文件夹.过滤的越多,AS的处理速度就会越快.
④在AS中打开源码根目录下新生成的android.ipr
附上出处链接:http://www.cnblogs.com/Lefter/p/4176991.html
⑧ android 怎么找到工程目录
存放在res/raw这个目录下边,软件启动时复制到手机内存或者sd卡中你的指定目录下
⑨ 如何导入一个android工程
Android Studio是google力推的一款Android开发工具,很多开发者可能还是在使用Eclipse,那么如何将Eclipse下面的工程导入到Android Studio中呢?
Eclispe
Android Studio
在Eclipse中新建android项目androiddemo。里面只有一个MainActivity,主要是使用fastjson将一个Person对象转化成字符串。
在项目上点击右键->Export。
在弹出的Export窗口中选择“Android”下面的Generate Gradle build files。然后点击next。
4
然后一路next,选中我们要导出的工程,继续next。
5
最后会提示将要导出的gradle文件的位置,然后点击finish。
6
打开Android Studio,点击菜单栏的“File”->“Import Project ”。
7
在弹框中选择我们刚才导出的工程,然后点击ok。
8
怎么样,如果觉得有用,请点击投票,小编会继续努力谢谢你的支持哦。
⑩ android工程最后生成的工程文件是
apk文件