日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

as工程放到源码编译_关于AS高版本SDK编译生成的apk放入低版本android源码中集成编译...

發布時間:2025/4/5 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 as工程放到源码编译_关于AS高版本SDK编译生成的apk放入低版本android源码中集成编译... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

做dfu功能的時候,遇到的這樣一個問題。添加了dfu的依賴之后,會要求編譯的sdk為28,我的AS版本默認生成的是27.然而target版本是25.

// The DFU Library is imported automatically from jcenter:

implementation 'no.nordicsemi.android:dfu:1.8.1'

implementation 'com.google.code.gson:gson:2.8.5'

修改sdk minsdk 和targetsdk版本

android {

compileSdkVersion 28

defaultConfig {

applicationId "com.qiyi.newdfulibrary"

minSdkVersion 18

targetSdkVersion 25

versionCode 1

versionName "1.0"

testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

}

buildTypes {

release {

minifyEnabled false

proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

}

}

}

添加合適的支持

implementation 'com.android.support:appcompat-v7:28.0.0'

implementation 'com.android.support:design:28.0.0'

生成apk后,準備放入到

vendor/qcom/proprietary/prebuilt_HY11/target/product/msm8998/system/priv-app

隨系統編譯,然后就如下錯誤

AILED: /bin/bash -c "(rm -f out/target/product/msm8998/obj/APPS/controllerota_intermediates/oat/arm64/package.odex ) && (mkdir -p out/target/product/msm8998/obj/APPS/controllerota_intermediates/oat/arm64/ ) && (ANDROID_LOG_TAGS=\"*:e\" out/host/linux-x86/bin/dex2oatd --runtime-arg -Xms64m --runtime-arg -Xmx512m --runtime-arg -classpath --runtime-arg \"&\" --boot-image=out/target/product/msm8998/dex_bootjars/system/framework/boot.art --dex-file=vendor/qcom/proprietary/prebuilt_HY11/target/product/msm8998/system/priv-app/controllerota/controllerota.apk --dex-location=/system/priv-app/controllerota/controllerota.apk --oat-file=out/target/product/msm8998/obj/APPS/controllerota_intermediates/oat/arm64/package.odex --android-root=out/target/product/msm8998/system --instruction-set=arm64 --instruction-set-variant=generic --instruction-set-features=default --include-patch-information --runtime-arg -Xnorelocate --no-generate-debug-info --abort-on-hard-verifier-error --no-inline-from=core-oj.jar --compile-pic )"

dex2oatd F 609 720 art/runtime/class_linker.cc:6620] Check failed: vtable_entry != other_entry && !name_comparator.HasSameNameAndSignature( other_entry->GetInterfaceMethodIfProxy(pointer_size)) vtable entries 1047 and 1052 are identical for java.lang.Class in method int android.support.v7.widget.DropDownListView.lookForSelectablePosition(int, boolean) and int android.support.v7.widget.MenuPopupWindow$MenuDropDownListView.lookForSelectablePosition(int, boolean)

dex2oatd F 609 720 art/runtime/runtime.cc:422]Runtime aborting...

Aborting thread:

原因是apk要預置進源碼的時候,會對apk進行一個解析,好形成odex文件加速apk的運行,但是基于高版本的sdk開發的apk里面的一些資源是無法被低版本正確的解析的,解決辦法就是,在mk文件里面禁止對該apk進行odex的處理。LOCAL_DEX_PREOPT := false

include $(CLEAR_VARS)

LOCAL_MODULE := controllerota

LOCAL_MODULE_OWNER := qcom

LOCAL_MODULE_TAGS := optional

LOCAL_MODULE_CLASS := APPS

LOCAL_CERTIFICATE := PRESIGNED

LOCAL_DEX_PREOPT := false

LOCAL_MODULE_SUFFIX := .apk

LOCAL_SRC_FILES := system/priv-app/controllerota/controllerota.apk

LOCAL_PRIVILEGED_MODULE := true

include $(BUILD_PREBUILT)

總結

以上是生活随笔為你收集整理的as工程放到源码编译_关于AS高版本SDK编译生成的apk放入低版本android源码中集成编译...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。