-option to select arm and x86 architectures on android export (will not work with current templates, you have to make new and include both x86 and arm support)
This commit is contained in:
parent
1e422941c8
commit
61e90385f6
@ -187,6 +187,8 @@ class EditorExportPlatformAndroid : public EditorExportPlatform {
|
|||||||
bool remove_prev;
|
bool remove_prev;
|
||||||
bool use_32_fb;
|
bool use_32_fb;
|
||||||
bool immersive;
|
bool immersive;
|
||||||
|
bool export_arm;
|
||||||
|
bool export_x86;
|
||||||
String apk_expansion_salt;
|
String apk_expansion_salt;
|
||||||
String apk_expansion_pkey;
|
String apk_expansion_pkey;
|
||||||
int orientation;
|
int orientation;
|
||||||
@ -281,6 +283,10 @@ bool EditorExportPlatformAndroid::_set(const StringName& p_name, const Variant&
|
|||||||
icon=p_value;
|
icon=p_value;
|
||||||
else if (n=="package/signed")
|
else if (n=="package/signed")
|
||||||
_signed=p_value;
|
_signed=p_value;
|
||||||
|
else if (n=="architecture/arm")
|
||||||
|
export_arm=p_value;
|
||||||
|
else if (n=="architecture/x86")
|
||||||
|
export_x86=p_value;
|
||||||
else if (n=="screen/use_32_bits_view")
|
else if (n=="screen/use_32_bits_view")
|
||||||
use_32_fb=p_value;
|
use_32_fb=p_value;
|
||||||
else if (n=="screen/immersive_mode")
|
else if (n=="screen/immersive_mode")
|
||||||
@ -350,6 +356,10 @@ bool EditorExportPlatformAndroid::_get(const StringName& p_name,Variant &r_ret)
|
|||||||
r_ret=icon;
|
r_ret=icon;
|
||||||
else if (n=="package/signed")
|
else if (n=="package/signed")
|
||||||
r_ret=_signed;
|
r_ret=_signed;
|
||||||
|
else if (n=="architecture/arm")
|
||||||
|
r_ret=export_arm;
|
||||||
|
else if (n=="architecture/x86")
|
||||||
|
r_ret=export_x86;
|
||||||
else if (n=="screen/use_32_bits_view")
|
else if (n=="screen/use_32_bits_view")
|
||||||
r_ret=use_32_fb;
|
r_ret=use_32_fb;
|
||||||
else if (n=="screen/immersive_mode")
|
else if (n=="screen/immersive_mode")
|
||||||
@ -403,6 +413,8 @@ void EditorExportPlatformAndroid::_get_property_list( List<PropertyInfo> *p_list
|
|||||||
p_list->push_back( PropertyInfo( Variant::STRING, "package/name") );
|
p_list->push_back( PropertyInfo( Variant::STRING, "package/name") );
|
||||||
p_list->push_back( PropertyInfo( Variant::STRING, "package/icon",PROPERTY_HINT_FILE,"png") );
|
p_list->push_back( PropertyInfo( Variant::STRING, "package/icon",PROPERTY_HINT_FILE,"png") );
|
||||||
p_list->push_back( PropertyInfo( Variant::BOOL, "package/signed") );
|
p_list->push_back( PropertyInfo( Variant::BOOL, "package/signed") );
|
||||||
|
p_list->push_back( PropertyInfo( Variant::BOOL, "architecture/arm") );
|
||||||
|
p_list->push_back( PropertyInfo( Variant::BOOL, "architecture/x86") );
|
||||||
p_list->push_back( PropertyInfo( Variant::BOOL, "screen/use_32_bits_view") );
|
p_list->push_back( PropertyInfo( Variant::BOOL, "screen/use_32_bits_view") );
|
||||||
p_list->push_back( PropertyInfo( Variant::BOOL, "screen/immersive_mode") );
|
p_list->push_back( PropertyInfo( Variant::BOOL, "screen/immersive_mode") );
|
||||||
p_list->push_back( PropertyInfo( Variant::INT, "screen/orientation",PROPERTY_HINT_ENUM,"Landscape,Portrait") );
|
p_list->push_back( PropertyInfo( Variant::INT, "screen/orientation",PROPERTY_HINT_ENUM,"Landscape,Portrait") );
|
||||||
@ -1045,6 +1057,8 @@ Error EditorExportPlatformAndroid::export_project(const String& p_path, bool p_d
|
|||||||
char fname[16384];
|
char fname[16384];
|
||||||
ret = unzGetCurrentFileInfo(pkg,&info,fname,16384,NULL,0,NULL,0);
|
ret = unzGetCurrentFileInfo(pkg,&info,fname,16384,NULL,0,NULL,0);
|
||||||
|
|
||||||
|
bool skip=false;
|
||||||
|
|
||||||
String file=fname;
|
String file=fname;
|
||||||
|
|
||||||
Vector<uint8_t> data;
|
Vector<uint8_t> data;
|
||||||
@ -1097,20 +1111,31 @@ Error EditorExportPlatformAndroid::export_project(const String& p_path, bool p_d
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
print_line("ADDING: "+file);
|
if (file=="lib/x86/libgodot_android.so" && !export_x86) {
|
||||||
zipOpenNewFileInZip(apk,
|
skip=true;
|
||||||
file.utf8().get_data(),
|
}
|
||||||
NULL,
|
|
||||||
NULL,
|
|
||||||
0,
|
|
||||||
NULL,
|
|
||||||
0,
|
|
||||||
NULL,
|
|
||||||
Z_DEFLATED,
|
|
||||||
Z_DEFAULT_COMPRESSION);
|
|
||||||
|
|
||||||
zipWriteInFileInZip(apk,data.ptr(),data.size());
|
if (file=="lib/armeabi/libgodot_android.so" && !export_arm) {
|
||||||
zipCloseFileInZip(apk);
|
skip=true;
|
||||||
|
}
|
||||||
|
|
||||||
|
print_line("ADDING: "+file);
|
||||||
|
|
||||||
|
if (!skip) {
|
||||||
|
zipOpenNewFileInZip(apk,
|
||||||
|
file.utf8().get_data(),
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
0,
|
||||||
|
NULL,
|
||||||
|
0,
|
||||||
|
NULL,
|
||||||
|
Z_DEFLATED,
|
||||||
|
Z_DEFAULT_COMPRESSION);
|
||||||
|
|
||||||
|
zipWriteInFileInZip(apk,data.ptr(),data.size());
|
||||||
|
zipCloseFileInZip(apk);
|
||||||
|
}
|
||||||
|
|
||||||
ret = unzGoToNextFile(pkg);
|
ret = unzGoToNextFile(pkg);
|
||||||
}
|
}
|
||||||
@ -1555,6 +1580,10 @@ EditorExportPlatformAndroid::EditorExportPlatformAndroid() {
|
|||||||
use_32_fb=true;
|
use_32_fb=true;
|
||||||
immersive=true;
|
immersive=true;
|
||||||
|
|
||||||
|
export_arm=true;
|
||||||
|
export_x86=false;
|
||||||
|
|
||||||
|
|
||||||
device_thread=Thread::create(_device_poll_thread,this);
|
device_thread=Thread::create(_device_poll_thread,this);
|
||||||
devices_changed=true;
|
devices_changed=true;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user