求救3.17.1打包安卓的问题

Error:FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ‘:test2:externalNativeBuildDebug’.

Unexpected native build target cocos2dlua. Valid values are: ext_vorbisidec, ccds, cpufeatures, ccb, ets, luaccandroid, spine, ext_pvmp3dec, luacc, flatbuffers, ccs, ui, recast, c3d, cclua, audio, cc_core, net, ccandroid

  • Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

  • Get more help at https://help.gradle.org

BUILD FAILED in 1m 48s

新建的hello world不能打安卓包,但是tests目录下的lua-empty-test就可以,是什么原因?

我用的是ndk-build

Gradle 面板,右键运行这个 target,可以在 run 窗口,看到更详细的报错信息

抱歉,没看明白你的回复呢

这个报错是说我的targets 不对,必须是cpp/下面的这些,但是默认就是cocos2dlua啊,填了cclua倒是可以打包了,只不过打包后可以安装到手机但是点不开

我找到你说的这个assembleDebug了

错误信息是:
Error:注: 某些输入文件使用或覆盖了已过时的 API。
注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。
注: 某些输入文件使用了未经检查或不安全的操作。
注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ‘:test2:externalNativeBuildDebug’.

Unexpected native build target cocos2dlua. Valid values are: ext_vorbisidec, ccds, cpufeatures, ccb, ets, luaccandroid, spine, ext_pvmp3dec, luacc, flatbuffers, ccs, ui, recast, c3d, cclua, audio, cc_core, net, ccandroid

  • Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

  • Get more help at https://help.gradle.org

BUILD FAILED in 23s

同样问题,没有解决

我用3.17还是好的,为啥3.17.1就这样了呢?

把这里的 cclua 改回 cocos2dlua @oponline @lsj5626

改动的原因是缩短库的名字,可以缩短构建时路径,用于缓解路径过长问题出现的频率。又因为 3.17.1 默认构建方式改成了 cmake,这个没测试到,不好意思,明天我提个 PR

谢谢!
我试了一下,打包成功了也安装了,但是点不开

感觉好像跟我改externalNativeBuild下targets的名字一样效果

如果是改 externalNativeBuild 中的 targets,那需要把 so 的名字也改一下,不然启动时加载不到动态库

        <!-- Tell Cocos2dxActivity the name of our .so -->
		<meta-data android:name="android.app.lib_name"
				   android:value="cocos2dlua" />

链接: https://github.com/cocos2d/cocos2d-x/blob/9f424e214f0ed08589ce57a93d1a29a9eaf88eb7/templates/lua-template-default/frameworks/runtime-src/proj.android/app/AndroidManifest.xml#L15

但是我刚才用cocos new了一个工程,然后按照你说的改成 cocos2dlua
试了一下不行呢,没有改targets
打包成功了也安装了,但是点不开

1赞

整个过程一共就3步呢

  1. cd 到cocos2d-x 3.17.1根目录
    cocos new test -p com.xx.test -l lua

2.修改gradle.properties
PROP_BUILD_TYPE=ndk-build

3.android.mk文件修改:
LOCAL_MODULE_FILENAME := cocos2dlua

打包运行

打包出来 发现 assets 文件夹不在apk包中

想问一下啊。你那个lua-empty-test打包成功可以看到东西吗。我看了项目打包出来得都没有lua文件和资源文件是一个空得包。请问还需要改那些地方啊

lua-empty-test
打包出来没问题的,手机上可以跑

https://github.com/cocos2d/cocos2d-x/pull/19113

找到原因。等一会在尝试看看

可有办法解决?:flushed:

gradle得版本高用3.1.x得版本好像是可以得。我发得那个连接有说明得

Gradle 使用默认配置,不要升级。如果不确定没有升级,就参考上面的 PR 改回去

gradle 4.6, sdk28, android gradle plugin 3.1.0

我好像就是这个配置啊,但是打的包点不开是什么原因呢?