免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開(kāi)通VIP
AndroidStudio項(xiàng)目打包成jar

前言:在eclipse中我們知道如何將一個(gè)項(xiàng)目導(dǎo)出為jar包,現(xiàn)在普遍AndroidStuido開(kāi)發(fā),這里一步一步詳加介紹AS項(xiàng)目打包成jar,jar和arr的使用

一.作用:

為了供其它項(xiàng)目使用,將項(xiàng)目打包成jar

二.步驟(AndroidStudio):

1.像平常一個(gè)樣新建一個(gè)項(xiàng)目(步驟省略)
2.(在步驟1的基礎(chǔ)上)點(diǎn)擊File-->New-->New Module—>選擇Android Library-->點(diǎn)擊Next(如下圖:)


定義好Library的工程名:librarydemo(如下圖:)

創(chuàng)建完成:

(步驟1建的)項(xiàng)目中會(huì)自動(dòng)引入該Model (app下的build.gradle):

3.生成jar:

創(chuàng)建之前我先在librarydemo工程中建一個(gè)測(cè)試類,方便測(cè)試調(diào)用:


在librarydemo工程下的build.gradle中加上:

做如下操作:

(注:你的as從來(lái)沒(méi)有生成過(guò)jar,那么第一次就會(huì)很慢,會(huì)去下載一些文件)

查看jar是否成功生成:

三、使用jar和arr:

在AndroidStudio中,創(chuàng)建的Model項(xiàng)目下:


二者區(qū)別:

  • jar: 只包含了class文件與清單文件 ,不包含資源文件,如圖片等所有res中的文件。
  • aar: 包含jar包和資源文件,如圖片等所有res中的文件。

個(gè)人覺(jué)得還是用as提供的aar包比較好,編譯完就生成了aar了,不用擔(dān)心資源問(wèn)題,
1. aar使用:
導(dǎo)入aar(jar一樣):


在app下的build.gradle中添加如下:

Sync Now一下,看


2. jar導(dǎo)入:
導(dǎo)入jar(同arr一樣)-->選中jar-->右鍵-->點(diǎn)擊Add As Library-->點(diǎn)擊Ok


有人會(huì)想怎么把資源(圖片,布局,string等)打進(jìn)jar包呢?
例如:jar中有一個(gè)activity用到了布局文件和圖片資源,那么怎么辦呢?
解決如下
:由于打包出來(lái)的jar只有源代碼的.class 文件,不包含資源文件,我們就把jar包中用到的資源放到你使用該jar的工程里面。然后通過(guò)反射即可,這里給出反射類:

public class MResource {    public static int getIdByName(Context context, String className, String resName) {        String packageName = context.getPackageName();        int id = 0;        try {            Class r = Class.forName(packageName   ".R");            Class[] classes = r.getClasses();            Class desireClass = null;            for (Class cls : classes) {                if (cls.getName().split("\\$")[1].equals(className)) {                    desireClass = cls;                    break;                }            }            if (desireClass != null) {                id = desireClass.getField(resName).getInt(desireClass);            }        } catch (Exception e) {            e.printStackTrace();        }        return id;    }}

這里演示項(xiàng)目中打開(kāi)jar中的activity的實(shí)例
這里給出jar中activity的代碼:

public class JarActivity extends AppCompatActivity {    @Override    protected void onCreate(@Nullable Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(MResource.getIdByName(this, "layout", "jar_layout"));        ImageView mPlayerLogo = (ImageView) this.findViewById(MResource.getIdByName(this,                "id", "logo"));        mPlayerLogo.setImageResource(MResource.getIdByName(this, "drawable", "ic_launcher"));    }}

這里:利用反射根據(jù)資源名字獲取資源ID加載布局 設(shè)置圖片
在項(xiàng)目中打開(kāi)jar的JarActivity的實(shí)現(xiàn)代碼如下:
(注:由于jar沒(méi)有布局文件和資源文件,所以需要把布局(jar_layout)copy到項(xiàng)目中,aar則不需要)

public class MainActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        findViewById(R.id.btn_jar).setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                Intent intent = new Intent();                intent.setClassName(getApplication(), "com.zhh.librarydemo.JarActivity");                startActivity(intent);            }        });    }}

jar_layout布局:

<?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">    <ImageView        android:id="@ id/logo"        android:layout_width="wrap_content"        android:layout_height="wrap_content" /></LinearLayout>

在清單文件中注冊(cè):

<activity android:name="com.zhh.librarydemo.JarActivity"/>
來(lái)源:http://www.icode9.com/content-4-188001.html
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
AndroidStdio1_2
Android Studio依賴包aar使用全攻略!
將Eclipse代碼導(dǎo)入到AndroidStudio的兩種方式
AndroidStudio Gradle 和 Gradle plugin的區(qū)別
Android studio 將 Module 打包成 Jar 包
Android Studio之gradle的配置與介紹
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服