手機端java代碼轉(zhuǎn)smali 學(xué)JAVA的程序員轉(zhuǎn)安卓開發(fā)是不是很容易?
學(xué)JAVA的程序員轉(zhuǎn)安卓開發(fā)是不是很容易?java和android的前景都不錯,不過近幾年android的發(fā)展要比java好些,如果懂java的話,android就很容易了,android在很多地方和
學(xué)JAVA的程序員轉(zhuǎn)安卓開發(fā)是不是很容易?
java和android的前景都不錯,不過近幾年android的發(fā)展要比java好些,如果懂java的話,android就很容易了,android在很多地方和java很類似,如果你確定要做android的話,其實沒必要學(xué)java在轉(zhuǎn)android,可以直接學(xué)android的,只是學(xué)了java之后學(xué)android比直接學(xué)android簡單些。
Android開發(fā)是以Java語言為基礎(chǔ)的,Android雖然使用Java語言作為開發(fā)工具,但是在實際開發(fā)中發(fā)現(xiàn),還是與JavaSDK有一些不同的地方。AndroidSDK引用了大部分的JavaSDK,少數(shù)部分AndroidSDK拋棄,比如說界面部分,java.awtpackage除了java.awt.font被引用外,其他都被拋棄,在Android平臺開發(fā)中不能使用。將Java 游戲 移植到Android平臺的過程中,Android SDK與Java SDK的區(qū)別是很需要注意的地方。所以沒有扎實的Java基礎(chǔ)知識,只是機械的照抄別人的代碼,是沒有任何意義的
怎樣把smali文件轉(zhuǎn)換為java文件?
smali2java是一個將smali代碼反編譯成java代碼的工具。 smali2java工具基于apktool v1.5.0(baksmali v1.3.4)生成的smali文件,依賴于smali文件中的代碼行數(shù)(.line關(guān)鍵字)和變量別名(.local關(guān)鍵字)等信息,可以最大程度還原原始的java代碼。還原出的java代碼將具有原始的變量命名,代碼的順序也與原始的java代碼保持一致。 本工具也具有局限性,僅適用于帶有行數(shù)和變量別名信息的smali文件(java編譯器的編譯選項可以在生成的字節(jié)碼中剔除這些信息)。
如何將smali文件i轉(zhuǎn)換成java文件?
可以先把smali轉(zhuǎn)化為dex文件,然后再用 dex2jar轉(zhuǎn)化一次。我之前也遇到過跟你一樣的情況就是這么處理的。祝你好運!