jad反編譯,很多,但是用反編譯後得到java想再編譯成.class基本是沒可能的。
Ⅱ 如何將Java程序打包成jar
用WINRAR打開個JAR包,把自己的編譯後的文件放裡面,再把自己程序用到的jar包解壓,將解壓出的META-INF\MANIFEST.MF修改一下
Manifest-Version: 1.0
Created-By: 1.4.0-beta3 (Sun Microsystems Inc.)
改為:
Manifest-Version: 1.0
Main-Class: com.ge.XX
(Main-Class後的路徑為主函數所在類的完整包路徑,注意後面加個回車換行)
把解壓出的東西全放先前打開的JAR包里,就OK了
Ⅲ java編譯成jar文件後能直接在手機上運行嗎
當然不可以;手機Java程序是另一門Java體制;屬於JavaMe體制;你編寫的那個HelloWord是屬於javaSe范疇的;作為一個剛接觸Java的新手來說必要的基礎知識了解多了沒有壞處
Ⅳ 關於java程序,如何做成jar包,能在手機上運行(手機支持java)
我覺得java se跟java me還是有相當大的差別的吧..雖說他們的語法都一樣...但你可以把手機連上電腦然後刪除,如果你在電腦上都無法刪除的話,寫個程序是無法刪除的,java程序本來就是通過調用操作系統底層方法來實現的,所以在電腦上無法刪除程序就更無法刪除了...
Ⅳ JAVA打包jar文件的方法,高分相求
^^java教程^^《製作可執行JAR》本文闡述了如何把一個不可執行的JAVAArchive(JAR)文件變成可執行,而不用直接操作manifest文件。你會學到寫出短小的一個程序,通過運行java-jar命令或在像windows一樣的操作系統裡面用雙擊滑鼠運行任何JAR文件。
你可以很容易地把應用程序的一整套class文件和資源文件打包到一個JAR中。事實上這就是jar文件存在的一個目的。另外一個目的就是讓用戶能很容易地執行被打包到jar文件裡面的應用程序。那麼為什麼jar文件僅僅作為文件在整個java裡面占據了次要的地位,而本地執行則被忽視?
要執行一個jar文件,你可以使用java命令的-jar選項。舉一個例子來說,假如你有個名叫myjar.jar的文件。這個jar是可以運行的,你可以運行它:java-jarmyjar.jar.另外一個辦法就是,當JavaRuntimeEnvironment(JRE)已經被安裝到一個像windows的操作系統上,將jar文件與JVM關聯(關聯java.exe跟jar文件)在一起你就可以通過雙擊jar來運行這個應用程序。當然,jar文件必須是可執行的。
現在的問題是:如何做一個可以執行的jar?
manifest文件以及Main-class入口
在大多數jar中,都在一個叫META-INF的目錄裡面保存了一個叫MANIFEST.MF的文件。那個文件裡面,
包含了一個特殊表項名字叫Main-Class,告訴java-jar命令應該執行哪個class.
問題是你必須為manifest文件手工加入適當表項,而且必須在一定的位置和用一定的格式。不幸的是,不是每個人都喜歡打開寫字板編輯配置文件。
讓API幫你完成任務
自從java1.2發布以來,一個叫java.uil.jar包的出現,讓你能夠方便處理jar文件。(注意:該包基於java.util.zip)特別地,jar包讓你通過Mainfest類,可以容易操作那些manifest文件.
就讓我們用這個API寫一個程序吧。首先,這個程序必須知道三樣東西:
1。我們要使之可運行的jar文件。
2。運行jar的主類(這個類必須包含在jar中)。
3。輸出新jar文件的文件名,因為我們不能簡單地覆蓋原來的文件。
編寫程序
上面列表的三點要求將組成我們的程序的參數。現在,讓我們為這個程序選擇一個適當的名字。
MakeJarRunnable聽起來覺得怎樣?
為main方法檢查參數
假設我們的main方法入口點是一個標準的main(String[])方法。我們應該這樣檢查程序的參數:
if(args.length!=3){
System.out.println("Usage:MakeJarRunnable" "<jarfile><Main-Class><output>");
System.exit(0);
}
請注意參數列表是如何描述的,因為這在以下代碼中是很重要的。參數的次序和內容不是固定的;
然而,如果你要改變他們的話,要記住響應修改其他代碼。
訪問jar和jar的manifest文件
第一,我們必須創建一些了解jar和manifest的對象:
//CreatetheJarInputStreamobject,andgetitsmanifest
JarInputStreamjarIn=newJarInputStream(newFileInputStream(args[0]));
Manifestmanifest=jarIn.getManifest();
if(manifest==null){
//
manifest=newManifest();
}
設置Main-Class屬性
我們把Main-Class入口放到manifest文件的main屬性部分。一旦從manifest對象獲得這個屬性,就可以設置需要的mainclass。然而,如果main-Class屬性已經存在原來的jar當中又如何呢?這里我們只是簡單地輸出一個警告然後退出。我們能加入一個命令行參數告訴程序使用新的值,而代替了舊的那個:
Attributesa=manifest.getMainAttributes();
StringoldMainClass=a.putValue("Main-Class",args[1]);
//Ifanoldvalueexists,telltheuserandexit
if(oldMainClass!=null){
System.out.println("Warning:oldMain-Classvalueis:"
oldMainClass);
System.exit(1);
}
輸出新的JAR
我們需要創建一個新的JAR文件,所以我們必須使用JarOutputStream類。注意:
我們必須確定我們不用跟輸入文件相同的名字作為輸出文件的名字。還有一個方案就是,程序應該考慮到一種情況,就是兩個jar文件都是相同的,促使用戶覆蓋原來的文件,如果他願意這么做的話。然而,我在保留了這一點,作為讀者的一個練習。從如下代碼開始:
System.out.println("Writingto" args[2] "...");
JarOutputStreamjarOut=newJarOutputStream(newFileOutputStream(args[2]),manifest);
我們必須從輸入JAR寫每個表項到輸出的JAR,所以迭代每個表項:
//
byte[]buf=newbyte[4096];
//Iteratetheentries
JarEntryentry;
while((entry=jarIn.getNextJarEntry())!=null){
//
if("META-INF/MANIFEST.MF".equals(entry.getName()))continue;
//WritetheentrytotheoutputJAR
jarOut.putNextEntry(entry);
intread;
while((read=jarIn.read(buf))!=-1){
jarOut.write(buf,0,read);
}
jarOut.closeEntry();
}
//Flushandcloseallthestreams
jarOut.flush();
jarOut.close();
jarIn.close();
完成程序
當然,我們必須把這些代碼放到一個類的main方法裡面,並且需要一大堆import代碼。完整程序:
http://www.javaworld.com/javaworld/javatips/javatip127/MakeJarRunnable.zip
程序使用例子
讓我們把這個程序應用到一個例子裡面來。假設你有一個應用程序,該程序的入口點是一個叫HelloRunnableWorld的類,再假設你已經創建了一個jar叫myjar.jar,包含了整個程序。運行MakeJarRunnable:
javaMakeJarRunnablemyjar.jarHelloRunnableWorldmyjar_r.jar
正如前面提到的,注意一下我的參數順序。如果你忘記了順序,沒有參數運行一下程序,它會響應出現一個用法提示信息。
嘗試對myjar.jar運行java-jar命令。然後對myjar_r.jar。注意區別不同!好了,你完成了這一切了,瀏覽一下每個jar的manifest文件(META-INF/MANIFEST.MF)
Ⅵ 如何將手機java軟體反編譯修改後再編譯成jar
這個很簡單,把jar包反編譯這個你應該知道了,很多工具jd
gui就是不錯的一個,然後,你用Eclipse等工具把你反編譯的文本貼到java文件中。
這時肯定有編譯錯誤,你可以把你軟體中的jar包都引為classpath下。
編譯通過後,就可以去取.class文件了再放回jar包中原有的目錄。
全部搞定。
Ⅶ 如何將java文件打包成jar
1、右鍵文件,點擊導出(Export);
2、選擇Java文件夾下的JAR
file,點擊next;
3、在JAR
file後面的
文本框
中選擇導出的位置;
4、接下來全部點擊next;
5、直到最後一個頁面時點擊finish;
6、完成。
Ⅷ 手機java游戲解壓後的class文件怎樣打包成jar
如果你用的class是沒有混淆過的是可以反編譯的,用eclipse改也不能只改其中的一個class要全部復制到工程里邊能編譯能用模擬器運行了的就才可以打包成jar,在要打包時還得寫jad文件的啟動路徑、名字、圖片路徑。