?文章的目的為了記錄使用java 進行android app?開發學習的經歷。本職為嵌入式軟件開發,公司安排開發app,臨時學習,完成app的開發。開發流程和要點有些記憶模糊,趕緊記錄,防止忘記。
?相關鏈接:
開源 java android app 開發(一)開發環境的搭建-CSDN博客
開源 java android app 開發(二)工程文件結構-CSDN博客
開源 java android app 開發(三)GUI界面布局和常用組件-CSDN博客
開源 java android app 開發(四)GUI界面重要組件-CSDN博客
開源 java android app 開發(五)文件和數據庫存儲-CSDN博客
開源 java android app 開發(六)多媒體使用-CSDN博客
開源 java android app 開發(七)通訊之Tcp和Http-CSDN博客
開源 java android app 開發(八)通訊之Mqtt和Ble-CSDN博客
開源 java android app 開發(九)后臺之線程和服務-CSDN博客
開源 java android app 開發(十)廣播機制-CSDN博客
開源 java android app 開發(十一)調試、發布-CSDN博客
開源 java android app 開發(十二)封庫.aar-CSDN博客
推薦鏈接:
開源C# .net mvc 開發(一)WEB搭建_c#部署web程序-CSDN博客
開源 C# .net mvc 開發(二)網站快速搭建_c#網站開發-CSDN博客
開源 C# .net mvc 開發(三)WEB內外網訪問(VS發布、IIS配置網站、花生殼外網穿刺訪問)_c# mvc 域名下不可訪問內網,內網下可以訪問域名-CSDN博客
開源 C# .net mvc 開發(四)工程結構、頁面提交以及顯示_c#工程結構-CSDN博客
開源 C# .net mvc 開發(五)常用代碼快速開發_c# mvc開發-CSDN博客
本章節主要內容是如何進行打包封庫,在Android 開發中,經常遇到兩種情況:1.需要簡化流程提高編譯速度,將部分不需要修改的代碼進行打包。2.需要提供第三方開發的SDK,保證對方能使用源碼的情況同時又看不到源碼。在這兩種情況中就需要對源碼進行打包封庫來實現。
本章內容如下:
1? 使用源碼制作.aar庫文件。
2? 在測試程序中引入.aar文件進行驗證。
一、制作.aar文件
1.1? 使用工程創建module
選擇Library
給庫命名
1.2? 在module中創建Class文件
最后創建2個類
AddFun源碼
ackage com.example.mylib;import android.app.Activity;public class AddFun extends Activity {public int Add (int a,int b){return a+b;}
}
MulFun源碼
package com.example.mylib;import android.app.Activity;public class MulFun extends Activity {public int Mul(int a,int b){return a*b;}
}
1.3? 修改build.gradle文件,minifyEnable需要改為true,庫文件編譯后才能看不見源碼。
1.4? 編譯生成 .arr庫文件
?
二、在測試文件中調用庫文件
2.1? 修改app文件夾的build.gradle文件
2.2? 進行同步
2.3? 測試工程中 MainActivity.java的源碼
package com.example.myapplication;import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;import com.example.mylib.AddFun;
import com.example.mylib.MulFun;import org.eclipse.paho.client.mqttv3.IMqttActionListener;
import org.eclipse.paho.client.mqttv3.IMqttDeliveryToken;
import org.eclipse.paho.client.mqttv3.IMqttToken;
import org.eclipse.paho.client.mqttv3.MqttCallback;
import org.eclipse.paho.client.mqttv3.MqttMessage;public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);AddFun tmp = new AddFun();int a = tmp.Add(3,4);MulFun tmp1 = new MulFun();int b = tmp1.Mul(3,4);Log.d("AddFun:", String.valueOf(a));Log.d("MulFun:", String.valueOf(b));}
}
2.4? 最終運行的結果,myLib.arr庫的功能得到驗證