Hello @simoloca, @dragen
Sorry for delay with reply.
List[Tensor] is a separate type than list of IValue that is Tensor inside.
Make sure that overloaded  IValue.listFrom  goes to  IValue.listFrom(Tensor... list) , not to  IValue.listFrom(IValue... array) .
I created PR for example where I call scripted method that accepts  List[Tensor] :

  
      github.com/pytorch/pytorch
  
  
    
  
    
  

  
    
      [NOT_FOR_LAND] Test android api with torchscript methos arg List[Tensor]
    

    
      pytorch:gh/IvanKobzarev/47/base ← pytorch:gh/IvanKobzarev/47/head
    

    
      
        opened 
        
          
        
        Jun 23, 2020
      
      

      
        
          
          IvanKobzarev
        
      

      
        
          +60
          -9
        
      
    

  


  
  
    
    
  
  


import torch

print(torch.version.__version__)

def scriptAndSave(module, fileName):
    print('-' * 80)
    script_module = torch.jit.script(module)
    print(script_module.graph)
    outputFileName = fileName
    script_module.save(outputFileName)
    print("Saved to " + outputFileName)
    print('=' * 80)

class Test(torch.jit.ScriptModule):
    def __init__(self):
        super(Test, self).__init__()

    @torch.jit.script_method
    def forward(self, input):
        return None

    @torch.jit.script_method
    def sumTensorsList(self, input):
        # type: (List[Tensor]) -> Tensor
        sum = torch.zeros_like(input[0])
        for x in input:
            sum += x
        return sum
scriptAndSave(Test(), "sum_tensors_list.pt")

  private Tensor makeTensor(final long[] shape, float value) {
    long numElements = 1;
    for (int i = 0; i < shape.length; i++) {
      numElements *= shape[i];
    }
    FloatBuffer buffer = Tensor.allocateFloatBuffer((int) numElements);
    for(int i = 0; i < numElements; i++) {
      buffer.put(i, value);
    }
    return Tensor.fromBlob(buffer, shape);
  }

  final long[] shape = new long[] {2, 2};

    IValue ivalue = IValue.listFrom(
      makeTensor(shape, 1),
      makeTensor(shape, 2),
      makeTensor(shape, 3));

    final Tensor outputTensor = mModule.runMethod("sumTensorsList", ivalue).toTensor();