Is there documentation for Android permissions used by cocos2dx?

Hello!

In AndroidManifest.xml file the following default authorizations are defined:

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>  
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>  
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>  
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>  

  <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

Which of those permissions are actually necessary for the program to run?

It seems it can run even if I remove all of them.

It depends on what actions does your app actually do.

https://developer.android.com/reference/android/Manifest.permission.html

Agreed. Currently my app only uses cocos2dx library’s Scene, Layer and Node drawing capabilities, as well as playing sound and music. So I guess it does not need any kind of special permission…

But do some library functions require specific permissions? Is that documented in the Reference? I didn’t stumble upon the situation yet, so I am wondering…

In this case remove all permissions from manifest file and test your app functionality. If all will be ok - your app do not require these permissions.

You don’t need these permissions unless your app actually needs to use them for functionality. There really isn’t anything for us to document here as it is the Android documentation that spells this out. We would be duplicating what is already documented and it is one more thing for us to update as the Android docs change.

Yes, there is no reason for documentation about android permissions on cocos2d web site. But there are many things need to be documented about own cocos2d-x engine.

For example look at this page http://www.cocos2d-x.org/wiki/Building_and_Transitioning_Scenes

popScene - This scene will replace the running one. The running scene will be deleted. Only call this if there is a running scene.

Director::getInstance()->popScene(myScene);

But in fact popScene does not requires any argument. Cocos cocos2d-x-3.13.1

I see your point. The Wiki is indeed very outdated. I am in process of taking relevant content from the Wiki and putting it in our docs and then removing the content from the Wiki.

Well older documentation may still be useful for those who still use the older version of the library… So, please don’t delete it forever…

But when one looks for info on Google, very often the wiki shows up before the “new” documentation, which is often a bit confusing.

The problem with not deleting it is that users think it is still valid and then they complain that it isn’t current or doesn’t work for them.

In an ideal world you would need something similar to what has been set up for the API reference - a version index. But it’s quite a lot of work to put this together…