⑴ java文件怎麼導出APK格式
在eclipse裡面編譯後在bin目錄下就自動生產apk文件了
⑵ 如何反編譯Apk得到Java源代碼
首先要下載兩個工具:dex2jar和JD-GUI
前者dex2jar是將apk中的classes.dex轉化成Jar文件,而JD-GUI是一個反編譯工具,可以直接查看Jar包的源代碼。
首先將apk文件,將後綴改為zip,解壓,得到其中的classes.dex,它就是java文件編譯再通過dx工具打包而成的;
解壓下載的dex2jar,將classes.dex復制到dex2jar.bat所在目錄。在命令行下定位到dex2jar.bat所在目錄(在DOS命令下CD 目錄)
運行
dex2jar.bat classes.dex
生成
classes.dex.dex2jar.jar
運行JD-GUI(jd-gui.exe),打開上面生成的jar包,即可看到源代碼了
⑶ 需要在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
首先下載eclipse與android插件,安裝完畢後,建立android項目,編碼完成後,生成keystore,使用jdk自帶的keytoo l-genkey -aliasandroid.keystore -keyalg RSA -validity 100000 -eystore android.keystore
然後選擇要打包的項目,右鍵點擊–>Androidtools–>Export Signed Application Package,選擇哪個項目,下一步後,選擇剛才生成的那個key和生成時錄入的密碼,下一步設置輸出位置。
完成APK生成。
WEB項目不可能生成APK ,如果你現有項目可以把相關的源碼文件復制到新建的android項目內,但是lib包有可能不支持,要看你用了那裡lib。
⑸ 怎麼從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的格式。
java文件打包APK流程:
流程概述:
1、打包資源文件,生成R.java文件
2、處理aidl文件,生成相應java 文件
3、編譯工程源代碼,生成相應class 文件
4、轉換所有class文件,生成classes.dex文件
5、打包生成apk
6、對apk文件進行簽名
7、對簽名後的apk文件進行對其處理
⑺ java怎樣獲取apk文件icon圖標
java獲取apk文件icon圖標的方法步驟如下:
1、解壓apk,apk實際上是zip壓縮檔。
2、解析AndroidManifest.xml文件,解析application節點,獲取android:icon屬性,得到圖標資源文件名。
3、圖標資源大多數位於/drawable-hdpi目錄下。
4、嘗試讀取png或者jpg格式,如果還讀取不到,那就按照沒有圖標處理。
⑻ 由Java源代碼用Eclipse得到apk
說下源碼大不大,不大的話可以幫你改下。別人分享的經典源碼是在以前的老sdk版本寫的新的話可能會出問題。
⑼ 教大家怎麼把java程序轉換為apk
安卓有安卓的一套開發規范,不是普通的java文件轉換成的apk文件。你可以從官網下載adt環境包,配置好adt以後,在adt環境下開發一個安卓的應用。導出生成apk文件。安卓開發,使用的java語言。但是和java不同。
⑽ java如何根據apk路徑讀取apk的包名以及版本號
IO流,在程序中根據路徑可以找到報名,不過你這個程序部署到真機上就不行了