让我举一个例子来解释。
这是一个布局文件
abc.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:id="0x7f10014b"
android:layout_height="-2"
android:layout_width="-1"
android:orientation="0"
android:padding="5dp"
android:weightSum="1.0">
<TextView
android:id="0x7f10014c"
android:layout_height="-2"
android:layout_marginLeft="10dp"
android:layout_weight="0.99"
android:layout_width="-2"
android:padding="10dp"
android:text="TextView" />
<ImageView
android:id="0x7f10014d"
android:layout_gravity="10"
android:layout_height="40dp"
android:layout_marginRight="10dp"
android:layout_weight="0.01"
android:layout_width="40dp"
android:padding="10dp"
android:src="0x7f0200b2" />
</LinearLayout>
正如您在布局文件中看到的那样,id由算法加密。它将存储在values文件夹中的id.xml文件夹中。
id.xml
<resources>
<item type="id" name="action_location">false</item>
<item type="id" name="action_tile">false</item>
<item type="id" name="action_filter">false</item>
<item type="id" name="action_share">false</item>
</resources>
如果可以编写java代码,那么它的逻辑如下。
要访问此处LinearLayout
,请假设LinearLayout
使用值00ff7des
加密。
所以Global声明是:
LinearLayout 00ff7des;
在OnCreate方法中
00ff7des = (LinearLayout)findViewById(0x7f10014b);
所以我是Android新手。有没有办法做到这一点。根据我的想法,这是可能的,但如何加密,我不知道。任何人都可以告诉我该怎么办。或者我们可以应用于android的加密技术。
任何帮助都要得到赞赏。
答案 0 :(得分:0)
您可以使用像DexGuard这样的软件来实现这一目标。 https://www.guardsquare.com/dexguard
您可以免费使用ProGuard,它会对代码进行模糊处理和最小化,因此对您的应用进行逆向工程会更加困难。