国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

網(wǎng)站服務(wù)器租用有什么好學(xué)大教育一對(duì)一收費(fèi)價(jià)格表

網(wǎng)站服務(wù)器租用有什么好,學(xué)大教育一對(duì)一收費(fèi)價(jià)格表,簡(jiǎn)述常用的網(wǎng)站開發(fā)軟件,外貿(mào)會(huì)計(jì)做賬流程一.前言 在Android10之后,所有項(xiàng)目工程中,官方推薦使用Android.bp去編譯構(gòu)建,以前使用Android.mk構(gòu)建的項(xiàng)目隨著版本迭代升級(jí),慢慢需要變更為Android.bp, 兩者的語(yǔ)法都需要去了解并熟練使用。 筆者之前寫過(guò)Android.mk的…

一.前言

? ? ? ? 在Android10之后,所有項(xiàng)目工程中,官方推薦使用Android.bp去編譯構(gòu)建,以前使用Android.mk構(gòu)建的項(xiàng)目隨著版本迭代升級(jí),慢慢需要變更為Android.bp, 兩者的語(yǔ)法都需要去了解并熟練使用。 筆者之前寫過(guò)Android.mk的語(yǔ)句介紹,里面有介紹每句代碼的含義編寫Android.mk把Android studio項(xiàng)目編譯到AOSP源碼中

后來(lái)也總結(jié)過(guò) Android.bp基本用法:?Android.bp 語(yǔ)法和使用? ?比較基礎(chǔ),也是在項(xiàng)目中運(yùn)用到了就記錄下來(lái)。

本篇文章寫的是在項(xiàng)目工程中編寫Android.mk和 Android.bp 文件,引入第三方的jar包,aar包, so庫(kù),引入特許白名單權(quán)限xml文件。

二. Android.mk 編寫

1. 引入jar包

比如,我們當(dāng)前目錄下的 libs 有okhttp-3.4.11.jar 包,我想引用它

需要兩個(gè)步驟

第一步, 聲明我們 jar 包所在的目錄,我的是AndroidStudio工程目錄,所以jar包的路徑是app/libs/okhttp-3.4.11.jar

LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := okhttp3:app/libs/okhttp-3.4.11.jar

這行代碼的意思大概可以理解成這樣,聲明一個(gè)變量 okhttp3,它的 value 是 app/libs/okhttp-3.4.11.jar

include $(CLEAR_VARS)
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := okhttp3:app/libs/okhttp-3.4.11.jar \okio:app/libs/okio-1.9.0.jar
include $(BUILD_MULTI_PREBUILT)  #這里是多個(gè)jar包預(yù)編譯

第二步. 引用我們聲明 jar 包的變量 引用我們上面聲明的 okhttp3

LOCAL_STATIC_JAVA_LIBRARIES := okhttp3

LOCAL_STATIC_JAVA_LIBRARIES := okhttp3 \okio

2. 引入aar包

第一步:先聲明 aar 包的位置

include $(CLEAR_VARS)
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := \lottie-2.8.0:app/libs/lottie-2.8.0.aar
include $(BUILD_MULTI_PREBUILT)

第二步:引用聲明的 aar 變量?lottie-2.8.0

LOCAL_STATIC_JAVA_AAR_LIBRARIES := lottie-2.8.0

第三步:添加引用的 aar 包資源

LOCAL_AAPT_FLAGS := \--auto-add-overlay \--extra-packages com.airbnb.lottie

3. 引入so庫(kù)

假如我們當(dāng)前目錄下的 lib 目錄下 有 armeabi-v7a,arm64-v8a 目錄,里面分別有 libaes-jni.so, 如果我們?cè)诰幾g apk 的時(shí)候,想把這些 so 庫(kù) 打包進(jìn)去,在 mk 文件中要怎樣配置呢?

第一步,直接在 mk 文件中配置以下內(nèi)容,預(yù)編譯處理

include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
#后綴
LOCAL_MODULE_SUFFIX := .so
#模塊名
LOCAL_MODULE := libaes-jni
#編譯到system/libs/目錄下
LOCAL_MODULE_CLASS := SHARED_LIBRARIES#另外一種寫法,根據(jù)平臺(tái)arm  arm64 去選擇編譯對(duì)應(yīng)的so文件
#ifeq ($(strip $(TARGET_ARCH)),arm64)
#LOCAL_SRC_FILES :=app/libs/arm64-v8a/libaes-jni.so
#else ifeq ($(strip $(TARGET_ARCH)),arm)
#LOCAL_SRC_FILES :=app/libs/armeabi-v7a/libaes-jni.so
#endif#arm arm64都編譯
LOCAL_SRC_FILES_arm :=app/libs/armeabi-v7a/libaes-jni.so
LOCAL_SRC_FILES_arm64 :=app/libs/arm64-v8a/libaes-jni.so
LOCAL_MODULE_TARGET_ARCHS:= arm arm64
LOCAL_MULTILIB := both
include $(BUILD_PREBUILT)

第二步: 引用目標(biāo)?so 庫(kù)

在include $(CLEAR_VARS) 和 include $(BUILD_PACKAGE) 之間添加以下內(nèi)容

LOCAL_REQUIRED_MODULES := libaes-jni#如果你寫這句話 把這個(gè)libaes-jni.so 同時(shí)也打包 放在out/target/產(chǎn)品名路徑/你的apk具體路徑下/lib/#目錄中
#LOCAL_JNI_SHARED_LIBRARIES := libaes-jni

備注:

LOCAL_MODULE_CLASS:(prebuilt)標(biāo)識(shí)了所編譯模塊最后放置的位置,如果不指定,不會(huì)放到系統(tǒng)中。
LOCAL_MODULE_CLASS := ETC 放于system/etc目錄
LOCAL_MODULE_CLASS := EXECUTABLES 放于/system/bin目錄
LOCAL_MODULE_CLASS := SHARED_LIBRARIES 放在/system/lib目錄
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
LOCAL_MODULE_CLASS := STATIC_LIBRARIES
LOCAL_MODULE_CLASS := APPS 放在/system/app目錄
?

LOCAL_JNI_SHARED_LIBRARIES變量主要是用在JNI的編譯中,如果你要在你的Java代碼中引用JNI中的共享庫(kù)*.so,此變量就是共享庫(kù)的名字。
那么你要注意的一點(diǎn)是:在你的Project根目錄下的Android.mk中要定義此變量用來(lái)引用你要使用的JNI中的共享庫(kù)*.so? 定義了要包含的so庫(kù)文件的名字,如果程序沒(méi)有采用jni,就不需要


LOCAL_JNI_SHARED_LIBRARIES := libxxx? ? 這樣在編譯的時(shí)候,NDK自動(dòng)會(huì)把這個(gè)libxxx打包進(jìn)apk; 放在out/target/產(chǎn)品名路徑/你的apk具體路徑下/lib/目錄中

LOCAL_REQUIRED_MODULES?指定模塊運(yùn)行所依賴的模塊(模塊安裝時(shí)將會(huì)同步安裝它所依賴的模塊)

4. 引入特許白名單權(quán)限xml

com.test.mtk.xml 內(nèi)容:

<?xml version="1.0" encoding="utf-8"?>
<permissions><privapp-permissions package="com.test.mtk"><permission name="android.permission.MASTER_CLEAR" /></privapp-permissions>
</permissions>

第一步:預(yù)編譯處理


######預(yù)編譯priv-app 權(quán)限,輸出路徑為system/etc/permissions###########
# Permissions pre-grant
include $(CLEAR_VARS)
LOCAL_MODULE := com.test.mtk.xml
LOCAL_MODULE_CLASS := ETC
LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/permissions
LOCAL_SRC_FILES := $(LOCAL_MODULE)
include $(BUILD_PREBUILT)

第二步:指定app運(yùn)行所依賴的模塊


######編譯priv-app 權(quán)限到apk中###########
LOCAL_REQUIRED_MODULES := com.test.mtk.xml

http://m.aloenet.com.cn/news/29494.html

相關(guān)文章:

  • 郴州企業(yè)網(wǎng)站建設(shè)制作營(yíng)銷案例100例
  • 網(wǎng)站建站建設(shè)網(wǎng)站中國(guó)企業(yè)500強(qiáng)排行榜
  • a0000網(wǎng)站建設(shè)2022年seo最新優(yōu)化策略
  • 博山網(wǎng)站建設(shè)網(wǎng)頁(yè)制作基礎(chǔ)教程
  • 四川城鄉(xiāng)住房建設(shè)廳官方網(wǎng)站seo搜索優(yōu)化公司排名
  • 新華社官網(wǎng)百度推廣怎么優(yōu)化
  • 深圳平湖網(wǎng)站建設(shè)有免費(fèi)推廣平臺(tái)
  • 東莞網(wǎng)站推廣優(yōu)化建設(shè)seo站長(zhǎng)工具
  • 吳橋縣網(wǎng)站建設(shè)價(jià)格沈陽(yáng)頭條今日頭條新聞最新消息
  • 網(wǎng)站做分站360收錄批量查詢
  • 多少網(wǎng)站域名采用中文四川全網(wǎng)推網(wǎng)絡(luò)推廣
  • 服務(wù)器的做網(wǎng)站空間北京疫情最新新聞
  • 重慶網(wǎng)站建設(shè)最大seo自然排名關(guān)鍵詞來(lái)源的優(yōu)缺點(diǎn)
  • 赤峰做網(wǎng)站的公司鄭州seo優(yōu)化顧問(wèn)熱狗
  • 商城界面設(shè)計(jì)武漢seo服務(wù)多少錢
  • 網(wǎng)站改版 域名百度愛(ài)企查電話人工服務(wù)總部
  • 武漢網(wǎng)站制作模板小程序推廣方案
  • 怎么做bt爬蟲網(wǎng)站seo專員是什么職位
  • 醫(yī)美三方網(wǎng)站怎么做首頁(yè)百度
  • 做軟件跟網(wǎng)站哪個(gè)難全國(guó)各城市疫情高峰感染進(jìn)度
  • 廈門網(wǎng)站建設(shè)公司推薦windows優(yōu)化大師破解版
  • 發(fā)外鏈的網(wǎng)站都要企業(yè)注冊(cè)需要優(yōu)化的地方
  • 做動(dòng)態(tài)網(wǎng)站怎樣配置iisb2b商務(wù)平臺(tái)
  • 專業(yè)網(wǎng)站制作公司教程長(zhǎng)尾關(guān)鍵詞什么意思
  • 小白如何免費(fèi)做網(wǎng)站阿里巴巴國(guó)際站關(guān)鍵詞推廣
  • 張家港網(wǎng)站制作哪家好站長(zhǎng)資源平臺(tái)
  • 如何做網(wǎng)站結(jié)構(gòu)優(yōu)化鄭州粒米seo顧問(wèn)
  • 做網(wǎng)站的代碼常用的網(wǎng)絡(luò)推廣方法有哪些
  • 響應(yīng)式網(wǎng)站 圖片尺寸奇數(shù)手機(jī)百度最新正版下載
  • 跨境電商建站seo站長(zhǎng)教程