一、Android Studio下载安装
下载地址:https://developer.android.google.cn/

安装过程中会需要进行额外下载,请事先准备好“梯子”
二、新建项目
初学阶段按照下面步骤来:
1、Create New Project

2、选择Empty Activity

3、填写项目相关信息
项目名称、包名、选择开发语言(Java、Kotlin) 、SDK支持(不同SDK的安卓系统市场占有量不同)

4、Android Studio生成空项目
Android Studio生成的空项目代码如下:

三、动手设计UI并添加代码
activity_main.xml:UI设计的配置文件
MainActivity.java:java代码文件
res/drawable:项目图片资源放在这个位置下

?1、UI代码如下:
<TextView
android:id="@+id/textView"
android:layout_width="144dp"
android:layout_height="0dp"
android:layout_marginStart="44dp"
android:layout_marginLeft="44dp"
android:layout_marginTop="32dp"
android:layout_marginBottom="12dp"
android:text="Quantity"
android:textAllCaps="true"
app:layout_constraintBottom_toTopOf="@+id/button2"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/button2"
android:layout_width="58dp"
android:layout_height="0dp"
android:layout_marginBottom="90dp"
android:onClick="increment"
android:text="+"
app:layout_constraintBottom_toTopOf="@+id/button3"
app:layout_constraintStart_toStartOf="@+id/textView"
app:layout_constraintTop_toBottomOf="@+id/textView" />
<TextView
android:id="@+id/textView2"
android:layout_width="80dp"
android:layout_height="40dp"
android:layout_marginStart="4dp"
android:layout_marginLeft="4dp"
android:layout_marginTop="96dp"
android:text="1"
android:textColor="@color/black"
app:layout_constraintStart_toStartOf="@+id/textView"
app:layout_constraintTop_toBottomOf="@+id/textView" />
<Button
android:id="@+id/button3"
android:layout_width="61dp"
android:layout_height="0dp"
android:layout_marginBottom="314dp"
android:onClick="decrement"
android:text="-"
app:layout_constraintBottom_toTopOf="@+id/button"
app:layout_constraintStart_toStartOf="@+id/textView2"
app:layout_constraintTop_toBottomOf="@+id/button2" />
<TextView
android:id="@+id/textView3"
android:layout_width="142dp"
android:layout_height="56dp"
android:layout_marginStart="48dp"
android:layout_marginLeft="48dp"
android:layout_marginTop="136dp"
android:text="Price"
android:textAllCaps="true"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView2" />
<TextView
android:id="@+id/textView4"
android:layout_width="87dp"
android:layout_height="43dp"
android:layout_marginStart="4dp"
android:layout_marginLeft="4dp"
android:layout_marginTop="44dp"
android:text="¥5"
android:textColor="@color/black"
app:layout_constraintStart_toStartOf="@+id/textView3"
app:layout_constraintTop_toBottomOf="@+id/textView3" />
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="52dp"
android:layout_marginLeft="52dp"
android:layout_marginBottom="61dp"
android:onClick="submitOrder"
android:text="Order"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/button3" />
2、java代码如下:
package com.example.coffee;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void increment(View view)
{
int quantity=0;
TextView quantityTextView=(TextView)findViewById(R.id.textView2);
quantity=Integer.parseInt(quantityTextView.getText().toString());
display(quantity+1);
}
public void decrement(View view)
{
int quantity=0;
TextView quantityTextView=(TextView)findViewById(R.id.textView2);
quantity=Integer.parseInt(quantityTextView.getText().toString());
if(quantity-1==0)
{ display(1); }
else
{ display(quantity - 1); }
}
private void display(int number)
{
TextView quantityTextView=(TextView)findViewById(R.id.textView2);
quantityTextView.setText(""+number);
}
public void submitOrder(View view)
{
int number=0;
TextView quantityTextView=(TextView)findViewById(R.id.textView2);
number=Integer.parseInt(quantityTextView.getText().toString());
displayPrice(number*5);
}
private void displayPrice(int Price)
{
TextView priceTextView=(TextView)findViewById(R.id.textView4);
if(Price==0)
{ priceTextView.setText("¥5"); }
else
{ priceTextView.setText("¥"+Price); }
}
}
四、运行程序
点击绿色小按钮,在Android Studio自带的模拟器中运行程序


点击+ - order按钮,确认程序正常运行
五、找到生成的APK文件

六、开始对 APK文件逆向
1、更改APK后缀为zip,保存里面的文件

2、转换classes.dex文件为jar文件
命令:d2j-dex2jar.bat? classes.dex?

3、使用jd-gui工具打开classes-dex2jar.jar文件?

和我们写的java代码是不是很相似:?

?七、安卓项目的图片位置
另外一个项目用到了一张图片:

?在res/drawable目录下可以找到对应的图片:

|