【问题标题】:Problem in building pygame apk (project.properties file error)构建 pygame apk 的问题(project.properties 文件错误)
【发布时间】:2019-08-10 18:57:55
【问题描述】:

我正在使用 pygame 和 pgs4a 为 Android 创建游戏。当我运行android.py build mygame release 它抛出这个错误:

Updating build files.  

Updated project.properties
Updated local.properties
Added file F:\pgs4a-master\build.xml
Updated file F:\pgs4a-master\proguard-project.txt

Creating assets directory.


Packaging internal data.

Listing private ...
Listing private\include ...
Listing private\include\python2.7 ...
Listing private\lib ...
Listing private\lib\PIL ...
Listing private\lib\android ...
Compiling private\lib\android\__init__.py ...
Compiling private\lib\android\apk.py ...
Compiling private\lib\android\mixer.py ...
Listing private\lib\encodings ...
Listing private\lib\json ...
Listing private\lib\pygame ...
Listing private\lib\pygame\threads ...
Listing private\lib\python2.7 ...
Listing private\lib\python2.7\bsddb ...
Listing private\lib\python2.7\compiler ...
Listing private\lib\python2.7\config ...
Listing private\lib\python2.7\distutils ...
Listing private\lib\python2.7\distutils\command ...
Listing private\lib\python2.7\email ...
Listing private\lib\python2.7\email\mime ...
Listing private\lib\python2.7\encodings ...
Listing private\lib\python2.7\hotshot ...
Listing private\lib\python2.7\importlib ...
Listing private\lib\python2.7\json ...
Listing private\lib\python2.7\lib-dynload ...
Listing private\lib\python2.7\logging ...
Listing private\lib\python2.7\multiprocessing ...
Listing private\lib\python2.7\multiprocessing\dummy ...
Listing private\lib\python2.7\plat-linux3 ...
Listing private\lib\python2.7\pydoc_data ...
Listing private\lib\python2.7\site-packages ...
Listing private\lib\python2.7\site-packages\android ...
Listing private\lib\python2.7\site-packages\jnius ...
Listing private\lib\python2.7\site-packages\pygame ...
Listing private\lib\python2.7\site-packages\pygame\threads ...
Listing private\lib\python2.7\sqlite3 ...
Listing private\lib\python2.7\sqlite3\test ...
Listing private\lib\python2.7\unittest ...
Listing private\lib\python2.7\wsgiref ...
Listing private\lib\python2.7\xml ...
Listing private\lib\python2.7\xml\dom ...
Listing private\lib\python2.7\xml\etree ...
Listing private\lib\python2.7\xml\parsers ...
Listing private\lib\python2.7\xml\sax ...
Listing private\lib\sqlite3 ...
Listing mygame ...
Compiling mygame\rotating_cube.py ...

I'm using Ant to build the package.

Buildfile: F:\pgs4a-master\build.xml

-check-env:
 [checkenv] Android SDK Tools Revision 24.0.2
 [checkenv] Installed at F:\pgs4a-master\android-sdk

-setup:
     [echo] Project Name: MYCUbe-1.0
  [gettype] Project Type: Application

-pre-clean:

clean:

BUILD FAILED
F:\pgs4a-master\android-sdk\tools\ant\build.xml:459: ../../google-play-services_lib resolve to a path with no project.properties file for project F:\pgs4a-master

Total time: 3 seconds

我完全不知道如何进一步进行。我知道它与 project.properties 文件的路径有关。即使在互联网上搜索类似问题也无济于事。谁能告诉我如何编辑project.properties 文件。提前谢谢了!

一个请求:

如果有人已经使用 pgs4a 完成了一个项目,如果你能提供代码目录位置的示例、project.properties 文件的内容以及有关该项目的其他相关详细信息,它真的可以帮助我。我将相应地编辑我的文件和位置!我将不胜感激。

注意: F:\pgs4a-master\mygame 是包含python脚本`rotating_cube.py'的文件夹

附加信息:

我现有的project.properties pgs4a-master 目录(mygame 目录之外)中的文件读取

target=android-19 
android.library.reference.1=../../google-play-services_lib

我的google-play-services_lib 文件夹的路径是

pgs4a-master/android-sdk/extras/google/google-play-services/libproject/google-play-services_lib 

其中还包含一个project.properties 文件,内容如下:

target=android-10 
android.library=true 

【问题讨论】:

  • 第 459 行的 F:\pgs4a-master\android-sdk\tools\ant\build.xml 中有什么内容?
  • 它是一个 build.xml 文件,对于每个 pgs4a 项目都是常见的。而且我不知道它指的是哪一行459;可能是 android.py 或其他的..
  • 您可能应该打开该 xml 并检查该行并查看它的预期。我试图在没有先验知识的情况下在这里进行故障排除,这感觉是一个很好的开始:) 特别是,我很好奇该行是否指出了 project.properties 或 play-services 库。
  • 真的谢谢,至少有人感兴趣!好的,我检查了第 459 行,上面写着:<getlibpath library FolderPathOut="project.library.folder.path" />。但我无法弄清楚它指向什么..
  • “我在 Windows 上,所以 grep 不起作用” 你可以在 Windows 上使用 UNIX 工具(我有 20 年了)一些例子,git bash,@ 987654322@, How to Install and Use the Linux Bash Shell on Windows 10

标签: android python python-2.7 pygame apk


【解决方案1】:

我怀疑您构建 android 应用程序所需的 Android SDK 环境设置不正确或太新而无法执行。

这是一个分步指南,以便从 PGS4A https://possiblywrong.wordpress.com/2012/06/16/python-on-android/

开始

如果我猜对了,您正在尝试构建这个 github 存储库https://github.com/duducosmos/pgs4a,这是在 python-android 应用程序中使用播放服务和广告的一些模块或示例。问题在于对 play-services lib ../../google-play-services_lib 的引用不正确。 将其更改为 android-sdk/extras/google/google-play-services/libproject/google-play-services_lib 可能会解决此错误。

通常,您尝试构建的解决方案基于 4-5 年前使用的 Android 工具。带有 Android ADT 插件和 ant 构建工具的 Eclipse。

为了完成这项工作,如果有可用的地方,您可能必须下载这些版本。自 2016 年以来,Google 放弃了此支持。所以我建议您尝试不同的方式,因为即使您解决了播放服务的构建错误,输出也很可能会陷入一些不兼容问题,或者无法在新的 android 设备上运行。

为您提供一些建议以便继续,您可以查看this 文章。

我已经为你做了一些检查和前 3 条建议:

  • BeeWare
  • Chaquopy
  • 基维

都提供支持较新的Android SDK/NDK工具,所以至少你能在它们上找到一些支持。

稍微检查一下,Kivy 看起来更接近 pygame,因为它是它的依赖项之一。

您可以查看以下网站:

但请阅读这篇文章,因为它包含有关 android 游戏开发/调试的额外详细信息。

【讨论】:

  • 非常感谢您的回答!我会试试看效果如何
  • 一个重要的问题? Beeware 真的支持 pygame 吗?我搜索但找不到答案。相反,他们使用的是“toga”
  • Cannot tell... 搜索“pygame and android”我已经进入 kivy,这是文章中的第三次推荐。 Android SDK/NDK 支持在这个上看起来也不错。我会更新我的答案。
  • 我试过 kivy,它有 pygame 作为依赖,但与 pygame 完全不同。 Pygame不能在kivy上开发
  • 我放入pygame-catalin.blogspot.com/2013/08/… 的最后一个链接可能有助于解决最初的问题,但有一些构建它的技巧。
猜你喜欢
  • 2017-09-12
  • 1970-01-01
  • 1970-01-01
  • 2016-07-02
  • 1970-01-01
  • 2012-11-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多