找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1106|回复: 5

[教程] 一个Renpy安卓打包游戏通过安卓平台审核方案

 火.. [复制链接]
发表于 2025-7-25 19:10:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 blurred 于 2025-10-6 10:17 编辑

前言:
1.本方案由我和清奕云時想出,实现,以及测试
2.本方案在Ren'py-8.3.7能够实现效果,如果使用,请注意引擎版本
3.涉及到修改引擎的代码,所以请在事前把引擎目录下的rapt相关文件备份
4.知道怎么写html(最新版更新不用)
5.这个方法有部分缺陷,看文尾。
6.使用了可以标注“浅唱&清奕云時”不标也没关系

压缩包:(一键解压移动文件即可食用)
Android_pass by QC and 清奕云時.zip (25.48 KB, 下载次数: 11)
按照压缩包里面的说明很详细,直接改就行了
目前在多个gal已经通过qɐꓕ审核

方法思路以及部分代码解释:
ren打包的安装包有一个特性,它不会要求额外权限(除了安装软件的储存权限),但是会在安装包启动的时候开始调用传感器video_play_edit_sdk,而部分安装包发布平台并不允许这样子,需要在权限申请或者隐私政策弹出一个窗口,窗口包含调用权限说明以及各种条例,用户同意后方可调用,这是大部分renpy引擎的apk被卡住审核的原因。
图层 1.png
关于video_play_edit_sdk,这是一个针对ffmpeg在android手机平台视频处理底层加速了ffmpeg的解码和编码能力增加硬解码模块和硬编码模块
我们删除了这个传感器的调用,用软解也没问题,性能方面损耗并不大
所以我们在renpy的活动之前写一个活动,让允许在这个新的活动之前弹出我们要的所有东西(隐私条约等),而在这个活动中,传感器并没有被调用。
renpy的安装包活动顺序有关文件在renpy引擎的rapt下的templates里面的app-AndroidManifest.xml中,这一部分就是写了renpy引擎的活动
在这里面的这一部分就是引擎活动

[RenPy] 纯文本查看 复制代码
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="{{ config.package }}">
  <application
...省略
    <activity
        android:name="org.renpy.android.PythonSDLActivity"
        android:label="@string/iconName"
        android:alwaysRetainTaskState="true"
        android:configChanges="layoutDirection|locale|orientation|uiMode|screenLayout|screenSize|smallestScreenSize|keyboard|keyboardHidden|navigation"
        android:launchMode="singleTop"
        android:screenOrientation="{{ config.orientation }}">

        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>

    </activity>

    <receiver android:name="com.amazon.device.iap.ResponseReceiver"
      android:permission="com.amazon.inapp.purchasing.Permission.NOTIFY">
      <intent-filter>
...省略

这个文件的改动是:
这里加入就禁用了renpy调用权限,其实不加也行,没有问题,但是为了稳定通过某些平台的审核,还是限制了,可以看情况自己更改

[RenPy] 纯文本查看 复制代码
    <!-- 权限设置 -->
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <!-- 这里加入了各种传感器权限的取消申请 -->
    <uses-feature android:name="android.hardware.sensor.accelerometer" android:required="false"/>
    <uses-feature android:name="android.hardware.sensor.gyroscope" android:required="false"/>
    <uses-feature android:name="android.hardware.sensor.light" android:required="false"/>
    <uses-feature android:name="android.hardware.sensor.proximity" android:required="false"/>
    <uses-feature android:name="android.hardware.sensor.compass" android:required="false"/>
    <uses-feature android:name="android.hardware.sensor.barometer" android:required="false"/>
    <uses-feature android:name="android.hardware.sensor.stepcounter" android:required="false"/>
    <uses-feature android:name="android.hardware.sensor.stepdetector" android:required="false"/>
    

加入新的活动
[RenPy] 纯文本查看 复制代码
 <application
            android:label="@string/app_name"
            android:icon="@drawable/android_icon"
            android:hasCode="true"
            android:allowBackup="false"
            android:theme="@style/Theme.AppCompat.Light.NoActionBar">
        <!-- 启动页设为 MainActivity -->
        <activity
                android:name="org.renpy.android.MainActivity"
                android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <!-- 游戏核心逻辑 Activity -->
        <activity
                android:name="org.renpy.android.PythonSDLActivity"
                android:label="@string/iconName"
                android:alwaysRetainTaskState="true"
                android:configChanges="layoutDirection|locale|orientation|uiMode|screenLayout|screenSize|smallestScreenSize|keyboard|keyboardHidden|navigation"
                android:launchMode="singleTop"
                android:screenOrientation="landscape"
                android:exported="true" />
    </application>

主要改动:
我把声明包名给删了
[RenPy] 纯文本查看 复制代码
{% for perm in config.permissions %}
  <uses-permission android:name="{{ perm }}" />
{% endfor %}

我删了动态生成权限的代码,也就是video_play_edit_sdk
然后活动方面的区别就是改的使用 MainActivity 作为启动入口(有LAUNCHER),把PythonSDLActivity改为后面的游戏逻辑(无 LAUNCHER)
(LAUNCHER决定了软件启动活动的优先级)
然后MainActivity就是在里面改的加入的弹窗,在同意后跳转startGame也就是PythonSDLActivity这个renpy原本的游戏主活动

(旧版本是引入了一个html文件,新版本优化了这个过程)
缺点:(高情商:给后面的人优化空间;低情商:我太菜了,不会改
1.这个方案由于重新写了一个活动,所以在项目里面自己规定的安卓打包图标是不生效的(被顶替了),需要修改图标则要到drawable里面改(最新版已经可以读取项目规定图标
2.由于改的是引擎的内容,所以对于有多项目的来说,可能不同游戏的隐私政策不同,所以要多次写不同的html文件,或者在引用中多次改文件名字,很麻烦。(最新版已经可以读取项目配置名称
3.这个隐私政策的窗口弹出是竖屏,其实没有多大影响,但横屏似乎效果更好。(最新版已经加入横屏
以上缺陷都已经在最新版修复!最新版下载链接:
https://www.renpy.cn/forum.php?mod=attachment&aid=MTY1OXwwOTNmMGQxM3wxNzYyOTMzNzgyfDB8




安卓隐私打包-黑凤梨&浅唱&清奕云時(第五版).zip

16.39 KB, 下载次数: 13, 下载积分: 活力 100

最新版安卓打包隐私政策

评分

参与人数 3活力 +600 干货 +9 收起 理由
ZYKsslm + 3 版区有你更精彩(*^_^*)
blackpineapple + 300 + 3 感谢分享
被诅咒的章鱼 + 300 + 3 感谢分享!

查看全部评分

 楼主| 发表于 2025-8-12 12:54:39 | 显示全部楼层
本帖最后由 blurred 于 2025-8-13 15:49 编辑

更新了隐私政策备份代码,加入了更多注释和指引,帖子内红色部分为更新内容,不懂可联系,请尽量使用最新版
回复 支持 抱歉

使用道具 举报

发表于 2025-10-9 15:34:00 | 显示全部楼层
照着步骤试了下,8.4.1也可以用,感谢大佬们
回复 支持 1 抱歉 0

使用道具 举报

发表于 2025-7-31 11:20:02 | 显示全部楼层
感谢LZ提供这个解决方案,试验了一下。发现如果完全不改build.gradle,会获得一个报错。
这个报错是:package androidx.appcompat.app does not exist

修改的办法是,在renpyandroid里的build.gradle 增加下面的代码
dependencies {
    implementation 'androidx.appcompat:appcompat:1.6.1' // 使用最新版本
    implementation 'com.google.android.material:material:1.9.0' // 通常也需要
}

目前顺利打包,等审核。
回复 支持 1 抱歉 0

使用道具 举报

发表于 2025-7-25 19:21:59 | 显示全部楼层
前排留眼,厉害
回复 支持 1 抱歉 0

使用道具 举报

 楼主| 发表于 2025-7-31 22:20:25 来自手机 | 显示全部楼层
blackpineapple 发表于 2025-7-31 11:20
感谢LZ提供这个解决方案,试验了一下。发现如果完全不改build.gradle,会获得一个报错。
这个报错是:packa ...

软件包不存在的报错吗?这个报错我这边测试没遇到过,这个报错如果是按照压缩包里面的build改也会出现吗
回复 支持 抱歉

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|RenPy中文空间 ( 苏ICP备17067825号|苏公网安备 32092302000068号 )

GMT+8, 2025-11-12 15:49 , Processed in 0.076148 second(s), 37 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表