android - Apportable porting from Cocos2d 项目报错

标签 android porting apportable

我现在正尝试使用 Apportable 移植我的 Cocos2d 1.x 项目之一,在编译阶段出现以下错误:

     apk = env.BuildAPK(os.path.join(env['VARIANT_DIR'], env['APPLICATION_NAME'], config['APPLICATION_NAME'] + '.apk'), lib, assets + env['LIBRARY_ASSETS'])
  File "/Users/*user*/.apportable/SDK/lib/scons/engine/SCons/Environment.py", line 223, in __call__
    return self.method(*nargs, **kwargs)
  File "/Users/*user*/.apportable/SDK/site_scons/android/sdk.py", line 1123, in APKBuilder
    packaged = ResourcesFinalize(env, target=res_apk_path, source=source, assets=assets)
  File "/Users/*user*/.apportable/SDK/site_scons/android/sdk.py", line 922, in ResourcesFinalize
    all_assets = RemapAssetList(env, assets)
  File "/Users/*user*/.apportable/SDK/site_scons/android/sdk.py", line 847, in RemapAssetList
    (remap, target) = Remap(env, asset, target)
  File "/Users/*user*/.apportable/SDK/site_scons/android/sdk.py", line 723, in Remap
    (base, ext) = os.path.splitext(str(source))
UnicodeEncodeError: 'ascii' codec can't encode character u'\u0421' in position 58: ordinal not in range(128)

是SDK的问题还是我的源代码有解决办法吗?

最佳答案

正如 LearnCocos2D 猜测的那样,Apportable 目前不处理具有非 ASCII 名称的资源文件。

如果您想保持 IOS 项目不变,您可以将资源文件复制或链接到 ASCII 名称并相应地更新 configuration.json:

例如,在 remove_params 部分:

        "assets": [
              "Resources/Audio/@#$%\u2122!.wav",
               .....

在 add_params 部分:

        "assets": [
               "apportable/Resources/sonOfA.wav",  // link to Resources/Audio/@#$%\u2122!.wav"

此外,我们现在正在更新 Apportable 平台以正确处理非 ASCII 字符,因此如果您在未来一两周以上阅读本文,这个问题将没有实际意义。

关于android - Apportable porting from Cocos2d 项目报错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16906260/

相关文章:

c++ - 在 stdint.h 中找不到符号

java - 来自 Google I/O SlidingTabStrip.java 的 R.attr.colorForeground 错误

python - unicode python 3 等效项

android - 在 android 中的 html 中显示相机 View ,然后拍摄照片

scheme - 将方案翻译为 CL

linux - 将 sched.h 移植到 Windows

android - 合适的设置

android - 使用 Apportable 将 iOS 应用程序转换为 Android - 构建时出现各种引用和定义错误

android - 更改语言环境在 Android 10 中停止工作

android - 飞镖 : How to return Future<void>