在单独编译android源码中的应用时出错make: *** [out/target/common/obj/APPS/TabPro_intermediates/src/R.stamp] 错误 1...

本文解决了Android开发中常见的多语言化错误,具体为提示文本必须本地化的问题。通过将硬编码的字符串替换为资源文件中的引用,可以轻松地解决这一问题并实现应用的多语言支持。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果出现如题所述的错误,更细致一点说是出现如下所述的错误:

packages/apps/TabPro/res/layout/tab1.xml:7: error: Error: This attribute must be localized. (at 'text' with value 'tab1').
packages/apps/TabPro/res/layout/tab2.xml:7: error: Error: This attribute must be localized. (at 'text' with value 'tab2').
packages/apps/TabPro/res/layout/tab3.xml:7: error: Error: This attribute must be localized. (at 'text' with value 'tab3').
make: *** [out/target/common/obj/APPS/TabPro_intermediates/src/R.stamp] 错误 1

提示了错误“This attribute must be localized”,这种问题一般情况是因为在res/xml文件夹下的中
或者在res/layout下的文件中出现了没有多语言话的文本例如
<TextView
android:id="@+id/myTextView1"
android:text="
tab1"
android:layout_width="fill_parent">
</TextView>

解决方式
在res/values/strings.xml中定义字符串
<string name="str_tab1">tab1</string>

然后把上面的内容改为
<TextView
android:id="@+id/myTextView1"
android:text="@string/str_str_tab1"
android:layout_width="fill_parent">
</TextView>

这是android强制实行多语言话

[ 14% 18/122] target Prebuilt: kdxxj_AI_Camera (out/target/product/hx35_64_a1/obj/APPS/kdxxj_AI_Camera_intermediates/package.apk) FAILED: /bin/bash -c "(out/host/linux-x86/bin/acp -fp vendor/mediatek/proprietary/packages/3rd-party/kdxxj_AI_Camera/kdxxj_AI_Camera.apk out/target/product/hx35_64_a1/obj/APPS/kdxxj_AI_Camera_intermediates/package.apk ) && (if (zipinfo out/target/product/hx35_64_a1/obj/APPS/kdxxj_AI_Camera_intermediates/package.apk 'lib/*.so' 2>/dev/null | grep -v ' stor ' >/dev/null) ; then rm -rf out/target/product/hx35_64_a1/obj/APPS/kdxxj_AI_Camera_intermediates/uncompressedlibs && mkdir out/target/product/hx35_64_a1/obj/APPS/kdxxj_AI_Camera_intermediates/uncompressedlibs; unzip out/target/product/hx35_64_a1/obj/APPS/kdxxj_AI_Camera_intermediates/package.apk 'lib/*.so' -d out/target/product/hx35_64_a1/obj/APPS/kdxxj_AI_Camera_intermediates/uncompressedlibs && zip -d out/target/product/hx35_64_a1/obj/APPS/kdxxj_AI_Camera_intermediates/package.apk 'lib/*.so' && ( cd out/target/product/hx35_64_a1/obj/APPS/kdxxj_AI_Camera_intermediates/uncompressedlibs && find lib -type f | sort | zip -D -X -0 ../package.apk -@ ) && rm -rf out/target/product/hx35_64_a1/obj/APPS/kdxxj_AI_Camera_intermediates/uncompressedlibs; fi ) && (if ! out/host/linux-x86/bin/zipalign -c -p 4 out/target/product/hx35_64_a1/obj/APPS/kdxxj_AI_Camera_intermediates/package.apk >/dev/null ; then mv out/target/product/hx35_64_a1/obj/APPS/kdxxj_AI_Camera_intermediates/package.apk out/target/product/hx35_64_a1/obj/APPS/kdxxj_AI_Camera_intermediates/package.apk.unaligned; out/host/linux-x86/bin/zipalign -f -p 4 out/target/product/hx35_64_a1/obj/APPS/kdxxj_AI_Camera_intermediates/package.apk.unaligned out/target/product/hx35_64_a1/obj/APPS/kdxxj_AI_Camera_intermediates/package.apk.aligned; mv out/target/product/hx35_64_a1/obj/APPS/kdxxj_AI_Camera_intermediates/package.apk.aligned out/target/product/hx35_64_a1/obj/APPS/kdxxj_AI_Camera_intermediates/package.apk; fi )" Archive: out/target/product/hx35_64_a1/obj/APPS/kdxxj_AI_Camera_intermediates/package.apk inflating: out/target/product/hx35_64_a1/obj/APPS/kdxxj_AI_Camera_intermediates/uncompressedlibs/lib/arm64-v8a/libCNamaSDK.so inflating: out/target/product/hx35_64_a1/obj/APPS/kdxxj_AI_Camera_intermediates/uncompressedlibs/lib/arm64-v8a/libfuai.so inflating: out/target/product/hx35_64_a1/obj/APPS/kdxxj_AI_Camera_intermediates/uncompressedlibs/lib/arm64-v8a/libimage_processing_util_jni.so inflating: out/target/product/hx35_64_a1/obj/APPS/kdxxj_AI_Camera_intermediates/uncompressedlibs/lib/arm64-v8a/libsurface_util_jni.so inflating: out/target/product/hx35_64_a1/obj/APPS/kdxxj_AI_Camera_intermediates/uncompressedlibs/lib/armeabi-v7a/libCNamaSDK.so inflating: out/target/product/hx35_64_a1/obj/APPS/kdxxj_AI_Camera_intermediates/uncompressedlibs/lib/armeabi-v7a/libfuai.so inflating: out/target/product/hx35_64_a1/obj/APPS/kdxxj_AI_Camera_intermediates/uncompressedlibs/lib/armeabi-v7a/libimage_processing_util_jni.so inflating: out/target/product/hx35_64_a1/obj/APPS/kdxxj_AI_Camera_intermediates/uncompressedlibs/lib/armeabi-v7a/libsurface_util_jni.so zip I/O error: Permission denied zip error: Could not create output file (out/target/product/hx35_64_a1/obj/APPS/kdxxj_AI_Camera_intermediates/package.apk) [ 14% 18/122] Ensure Jack server is installed and started Jack server already installed in "/home/hx-server02/.jack-server" LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := kdxxj_AI_Camera LOCAL_MODULE_TAGS := optional LOCAL_SRC_FILES := $(LOCAL_MODULE).apk LOCAL_MODULE_CLASS := APPS LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX) LOCAL_CERTIFICATE := PRESIGNED LOCAL_PROPRIETARY_MODULE := true LOCAL_DEX_PREOPT := false # 添加后处理命令(构建完成后执行) LOCAL_POST_INSTALL_CMD := \ mkdir -p $(PRODUCT_OUT)/system/lib/ && \ cp -uf $(LOCAL_PATH)/lib/armeabi-v7a/*.so $(PRODUCT_OUT)/system/lib/ && \ mkdir -p $(PRODUCT_OUT)/system/lib64/ && \ cp -uf $(LOCAL_PATH)/lib/arm64-v8a/*.so $(PRODUCT_OUT)/system/lib64/ include $(BUILD_PREBUILT) 为什么会出现i/o异常
08-01
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值