① 怎樣快速理清一個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文件