gpt4 book ai didi

android - 我可以在依赖它的 APK 中使用 Android AAR 的资源吗?

转载 作者:行者123 更新时间:2023-12-05 00:07:12 25 4
gpt4 key购买 nike

我可以在依赖它的 APK 中使用来自 Android AAR (lib1) 的资源(字符串、 Assets 、可绘制对象)吗? lib1 所依赖的可传递 AAR (lib2) 中的资源如何?

最佳答案

是的。

使用 Android Archetypes我创建了一个android-with-test项目,然后在它下面有两个android-library-quickstarts。我不得不将 android-library-quickstart 项目的打包从 apklib 更改为 aar。然后,我使 lib1 依赖于 lib2,并使我的 apk 依赖于 lib1。

我构建了一个直接消耗资源的Activity(图片来自res/drawable,字体来自assets/fonts,字符串来自values/strings.xml) 在两个库的布局中。尽管 lib2 是一个传递依赖项,但我可以使用它的资源。

activity_main.xml

    <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/library_1_string" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/library_2_string"/>
<TextView
android:id="@+id/library2_via_library1_text_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>

<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/library1" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/library2" />

<TextView
android:id="@+id/library1_font_text_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="library1.ttf"/>

<TextView
android:id="@+id/library2_font_text_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="library2.ttf"/>
</LinearLayout>

HelloAndroidActivity.java 公共(public)类 HelloAndroidActivity 扩展 Activity {

    /**
* Called when the activity is first created.
* @param savedInstanceState If the activity is being re-initialized after
* previously being shut down then this Bundle contains the data it most
* recently supplied in onSaveInstanceState(Bundle). <b>Note: Otherwise it is null.</b>
*/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView library2ViaLibrary1TextView = (TextView) findViewById(R.id.library2_via_library1_text_view);
library2ViaLibrary1TextView.setText(Library1.getLibrary2String(this));

TextView library1FontTextView = (TextView) findViewById(R.id.library1_font_text_view);
library1FontTextView.setTypeface(Typeface.createFromAsset(getAssets(), "fonts/library1.ttf"));

TextView library2FontTextView = (TextView) findViewById(R.id.library2_font_text_view);
library2FontTextView.setTypeface(Typeface.createFromAsset(getAssets(), "fonts/library2.ttf"));
}
}

关于android - 我可以在依赖它的 APK 中使用 Android AAR 的资源吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25168460/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com