2017-02-09 115 views
3

我正在開發一個android庫,我想隱藏它的代碼。 我正在使用其他庫,對於其中的一些庫,當試圖訪問他們的Android Studio代碼時,您只能獲得該類的方法列表和「/ *編譯代碼* /」。 我正在使用保護,但我仍然可以訪問我的庫的源代碼。即使方法和成員名稱已被修改,代碼仍然可讀,並且可以讀取每個硬編碼的字符串。隱藏庫源代碼

如何以與圖書館相同的方式隱藏我的代碼?

+0

檢查http://stackoverflow.com/a/9519306/2870088 –

回答

2

只有當您沒有該庫的實際源代碼且反編譯器未激活時,Android Studio纔會用類似/* compiled code */的內容替換實際代碼。但是附加源代碼或安裝反編譯器是微不足道的。

您可以使用javap顯示任何類的字節碼。詳細信息請參見Is it possible to view bytecode of Class file?

回到您的原始問題:不,實際上隱藏您的代碼是不可能的,因爲代碼需要實際執行。如果代碼在那裏,你可以看到字節碼並反編譯它。您擁有的最佳選擇是使用Proguard對代碼進行混淆,這對隱藏您的代碼並沒有太大的幫助。見How to avoid reverse engineering of an APK file?Android ProGuard how to hide/obfuscate source code of exported library