Tạo và xuất bản một thư viện Android
Bài đăng này đã không được cập nhật trong 7 năm
- Để phát triển Android một cách hoàn thiện hơn, các bạn cần phải biết cách tạo và xuất bản một thư viện Android của riêng bạn . Khi đó chúng ta có thể sử dụng thư viện củ chúng ta tạo ra theo ý muốn của mình vào các dự án một cách phù hợp nhất.
1. Tạo một thư viện Android
- Nếu thư viện của bạn sẽ được bao gồm chỉ các lớp Java, đóng gói nó như một JAR và phân phối nó sử dụng một máy chủ tập tin có lẽ là cách nhanh nhất và dễ nhất để chia sẻ. Nếu bạn đã tạo ra từ giao diện điều khiển, lệnh sau sẽ đủ:
jar cvf mylibrary.jar Class1.class Class2.class ... ClassN.class
-
Tuy nhiên, hướng dẫn học android này cho bạn thấy làm thế nào để làm việc với nhiều thư viện phức tạp có chứa không chỉ các lớp học Java, mà còn các loại tập tin XML và các nguồn lực. Thư viện như vậy được tạo ra như các module thư viện Android và thường được đóng gói như là các tập tin AAR.
-
Hãy tạo ra một thư viện Android đơn giản là cung cấp một tùy chỉnh View để phát triển những người sử dụng nó.
-
Hãy tạo ra một thư viện Android đơn giản là cung cấp một tùy chỉnh View để phát triển những người sử dụng nó.
Bước 1: Thêm một Module mới
-
Để bắt đầu, thêm một module Android mới để dự án của bạn bằng cách chọn New> New Module từ menu File. Bạn sẽ được hiển thị màn hình sau, trong đó cung cấp nhiều sự lựa chọn:
-
Chọn Library Android và nhấn Next. Trong các hình thức sau đây, nhập tên cho thư viện của bạn và nhấn Next. Tôi sẽ được gọi mylittlelibrary thư viện này.
-
Trong màn hình cuối cùng, chọn Add và nhấn Finish.
-
Hiện tại dự án của bạn sẽ có hai mô-đun, một cho các ứng dụng và một cho thư viện. Đây là những gì cấu trúc của nó trông giống như: Bước 2: Tạo một Layout
-
Tạo một layout XML mới bằng cách kích chuột phải vào thư mục res của module thư viện của bạn và chọn New>xml> Layout xml file. Đặt tên nó là test_view.xml.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Hello!"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="This is my custom view from my little library."/>
</LinearLayout>
Bước 3: Tạo một lớp Java
- Tạo một lớp java mới và đặt tên nó MyView.java.
public class MyView extends LinearLayout {
public MyView(Context context) {
super(context);
}
public MyView(Context context, AttributeSet attrs) {
super(context, attrs);
}
}
2. Sử dụng các thư viện trong project .
- Trong file build.gradle của ứng dụng của bạn . Bạn add thư viện mylittlelibrary vào trong đó theo mẫu sau .
compile project(":mylittlelibrary")
- Cách sử dụng view ở 1 class bất kì . Ví dụ ở sau đây là MainActyvity của bạn , bạn sẽ khai báo nó như sau.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
View v = new MyView(this);
setContentView(v);
}
- Sau khi tạo 1 project libs cơ bản trong project của bạn việc của bạn muốn dùng nó vào nhiều project khác nhau mà mình không thể copy từ project này sang project khác . Cho nên việc build thư viện của bạn làm sao để bạn update hoặc sử dụng dễ dàng nhất là 1 vấn đề . Tôi có biết một tool có thể làm việc này cho bạn , mục này được nói ngay sau đây
3. Tạo thư viên của bạn trên BIntray
- Bintray là một nền tảng phổ biến mà bạn có thể sử dụng để xuất bản các thư viện Android. Nó là miễn phí và dễ sử dụng. Link : https://bintray.com/
- Sau khi vào trang bintray.com . Bạn cần tạo 1 tài khoản trên trang này . Sau đó khi đăng nhập bạn sẽ thấy 6 repositories danh riêng cho bạn chọn như dưới hình sau đây.
-
Ở đây mình sử dung maven repository .
-
Truy cập vào trang cá nhân của bạn và nhấp vào nút Edit. Trên trang tiếp theo, nhấp vào liên kết API Key để xem API key.
Nên nhớ bạn cần xác thực khi sử dụng các plugin Bintray.
Bước 1: Thêm Plugins cần thiết
- Để tương tác với Bintray trong Android Studio, bạn nên bao gồm các Plugin Bintray trong dependenciescác dự án của bạn build.gradle file.
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.2'
- Bạn cũng nên thêm các plugin Maven dưới đây.
classpath "com.github.dcendents:android-maven-gradle-plugin:1.3"
Bước 2: Áp dụng các Plugins
- Mở tập tin build.gradle của module thư viện của bạn và thêm mã sau đây để áp dụng các plugins ở trên bước 1.
apply plugin: 'com.jfrog.bintray'
apply plugin: 'com.github.dcendents.android-maven'
**Bước 3: Xác định POM **
- Các plugin Bintray sẽ tìm một file POM khi nó tải lên thư viện. Mặc dù các plugin Maven tạo nó cho bạn, bạn nên xác định giá trị của thẻ groupId và giá trị của các phiên bản tag mình. Để làm như vậy, sử dụng các nhóm và phiên bản biến trong tập tin gradle của bạn.
group = 'com.github.hathibelagal.librarytutorial' // Change this to match your package name
version = '1.0.1' // Change this to match your version number
Bước 4: Tạo một nguồn tin JAR
- Để phù hợp với các tiêu chuẩn maven, thư viện của bạn cũng nên có một tập tin JAR chứa các file nguồn của thư viện. Để tạo ra các tập tin jar tạo ra một nhiệm vụ mới Jar, generateSourcesJar, và xác định vị trí của các tập tin bằng cách sử dụng nguồn từ chức năng.
Bước 5: Tạo một JAR Javadoc
- Việc tạo javadoc để develop phát triển có thể sử dụng dược thư viện của bạn một cách hiểu quả nhất . Developer phát triển có thể biết được phương thức hoặc method này dùng để làm gì và có chức năng gì .
task generateJavadocs(type: Javadoc) {
source = android.sourceSets.main.java.srcDirs
classpath += project.files(android.getBootClasspath()
.join(File.pathSeparator))
}
- Để đảm bảo các nhiệm vụ generateJavadocsJar chỉ bắt đầu khi nhiệm vụ generateJavadocs đã hoàn thành, hãy thêm đoạn mã sau đây, trong đó sử dụng các phương pháp dependsOn để đặt hàng các nhiệm vụ:
artifacts {
archives generateJavaDocsJar
archives generateSourcesJar
}
Bước 6: Bao gồm các tập tin JAR Generated
- Tải lib bạn lên maven để có thể sử dụng và lưu trữ .
artifacts {
archives generateJavaDocsJar
archives generateSourcesJar
}
Bước 7: Chạy Task
- Mở cửa sổ Projects Gradle và bắt đầu cài đặt nó như hình vẽ .
Bước 8: Cấu hình Bintray Plugin
-
Để cấu hình các plugin, bạn nên sử dụng việc đóng cửa bintray trong tập tin Gradle của bạn. Đầu tiên, xác nhận bản thân bằng cách sử dụng người dùng và chính biến, tương ứng với tên người dùng và API key Bintray của bạn tương ứng.
-
Trên Bintray, thư viện của bạn sẽ nằm bên trong một gói Bintray. Bạn nên cung cấp thông tin chi tiết về nó bằng cách sử dụng repo, tên, giấy phép, và các thông số bằng trực giác có tên vcsUrl của việc đóng cửa pkg. Nếu gói không tồn tại, nó sẽ được tạo tự động cho bạn.
-
Khi bạn tải lên các tập tin để Bintray, họ sẽ được liên kết với một phiên bản của gói Bintray. Vì vậy, pkg phải chứa một đóng cửa phiên bản có tên thuộc tính được thiết lập để một tên duy nhất. Tùy chọn, bạn cũng có thể cung cấp một mô tả, ngày phát hành, và tag Git sử dụng dần, phát hành, và các thông số vcsTag.
-
Cuối cùng, để xác định các tập tin đó nên được tải lên, thiết lập giá trị của các tham số cấu hình để lưu trữ.
Đây là một cấu hình mẫu:
bintray {
user = 'test-user'
key = '01234567890abcdef01234567890abcdef'
pkg {
repo = 'maven'
name = 'com.github.hathibelagal.mylittlelibrary'
version {
name = '1.0.1-tuts'
desc = 'My test upload'
released = new Date()
vcsTag = '1.0.1'
}
licenses = ['Apache-2.0']
vcsUrl = 'https://github.com/hathibelagal/LibraryTutorial.git'
websiteUrl = 'https://github.com/hathibelagal/LibraryTutorial'
}
configurations = ['archives']
}
Bước 9: Upload Files Sử dụng Bintray Plugin.
- Mở cửa sổ Projects Gradle một lần nữa và tìm kiếm các nhiệm vụ bintrayUpload. Kích đúp vào nó để bắt đầu tải lên các tập tin.
- Một khi nhiệm vụ hoàn thành, mở trình duyệt để truy cập vào trang chi tiết gói Bintray của bạn. Bạn sẽ thấy một thông báo mà nói rằng bạn có 4 tập tin mà bạn vừa tải lên chưa được public. Để xuất bản những tập tin này, hãy nhấp vào liên kết Publish.
4. Sử dụng các thư viện Từ Bintray
epositories {
maven {
url 'https://dl.bintray.com/eruzza/maven'
}
}
dependencies {
compile 'com.github.hathibelagal.librarytutorial:mylittlelibrary:1.0.1@aar'
}
5. Bổ sung thêm các thư viện cho Jcenter
-
Theo mặc định, Android Studio tìm kiếm các thư viện trong một kho lưu trữ được gọi là Jcenter. Nếu bạn bao gồm thư viện của bạn trong kho Jcenter, các nhà phát triển sẽ không phải thêm bất cứ điều gì để danh sách các kho của họ.
-
Để thêm thư viện của bạn để Jcenter, mở trình duyệt và truy cập vào trang chi tiết gói Bintray của bạn. Nhấn vào nút có nhãn Add để Jcenter.
- Nếu bạn có cập nhật mới cho phiên bản của mình bạn chon vào Compose Mesage .
- Nhấn vào nút Send để bắt đầu quá trình xem xét của Bintray. Trong vòng một hoặc hai ngày, các folks tại Bintray sẽ liên kết thư viện của bạn vào kho JCenter và bạn sẽ có thể thấy liên kết để JCenter trên trang chi tiết gói hàng của bạn.
- Như vậy, bạn đã học cách để tạo ra một mô-đun thư viện Android đơn giản và công bố nó cho cả hai kho Maven của riêng bạn và để kho JCenter. Chúc các bạn thành công !
All rights reserved